• JS使用正则匹配字符串去掉多余符号


    一、起因:

    数据库里的标签是以字符串存储的:

    示例:

    可能以逗号分隔:

    小学数学,语文,英语

    或者也可能以顿号分隔:

    小学、初中、高中、

    现在我想要实现字符串分割,使用分割后的字符串做标签,所以需要进行字符串处理。

    二、思路:

    JS中有字符串处理函数split,他可以把字符串分割后返回一个数组,适合我这种场景,因为分割后的字符串数组刚好用来当标签。

    split,需要传入一个正则表达式进行匹配,所以使用split刚好解决我的问题。

    三、解决:

    //斜杠,反斜杠,空格,乘号,英文逗号,中文逗号,中文括号,中文分号,连字符,加号,【,】,顿号,下划线,中文冒号,|,[,],&
    //还有乘号“×”,而非“xX”【和字母不同】
    //英文分号,英文冒号
    
     let str = '你好,啦啦啦,小学数学,语文,英语、hhh、哦哦哦'
     let b = str.split(/[+|\\|/|,| |(|)|*|×|,|(|)|;|;|\-|【|】|、|:|:|\|\[|\]|&]+/)
     console.log(b.filter(function(curV){//filter过滤非空字符,
         return curV.trim()!=''
     }))
    
    运行结果:[ '你好', '啦啦啦', '小学数学', '语文', '英语', '哦哦哦' ]

    若不使用filter输出的结果:
     [
         '你好',  '啦啦啦', '小学数学',
         '语文',  '英语',  '',
         '',    '',    '',
         '哦哦哦'
       ]


    穷则独善其身,达则兼济天下……
  • 相关阅读:
    Android 查看通讯录Contacts是否发生变化
    卓尼斯ZT-180评測
    C++中的单例模式
    Android 动画之ScaleAnimation应用具体解释
    java的静态代理
    词性标注
    ubuntu 11.04安装笔记
    机房收费系统学生下机结账小结
    MyBatis入门学习(一)
    !!!!OpenWrt系列教程汇总
  • 原文地址:https://www.cnblogs.com/hmy-666/p/14644117.html
Copyright © 2020-2023  润新知