JS使用正则匹配字符串去掉多余符号
2021-05-31 14:01
标签:class console 字符串存储 ret 英文 中文 去掉 乘号 不同 数据库里的标签是以字符串存储的: 示例: 可能以逗号分隔: 小学数学,语文,英语 或者也可能以顿号分隔: 小学、初中、高中、 现在我想要实现字符串分割,使用分割后的字符串做标签,所以需要进行字符串处理。 JS中有字符串处理函数split,他可以把字符串分割后返回一个数组,适合我这种场景,因为分割后的字符串数组刚好用来当标签。 split,需要传入一个正则表达式进行匹配,所以使用split刚好解决我的问题。 若不使用filter输出的结果: JS使用正则匹配字符串去掉多余符号 标签:class console 字符串存储 ret 英文 中文 去掉 乘号 不同 原文地址:https://www.cnblogs.com/hmy-666/p/14644117.html一、起因:
二、思路:
三、解决:
//斜杠,反斜杠,空格,乘号,英文逗号,中文逗号,中文括号,中文分号,连字符,加号,【,】,顿号,下划线,中文冒号,|,[,],&
//还有乘号“×”,而非“xX”【和字母不同】
//英文分号,英文冒号
let str = ‘你好,啦啦啦,小学数学,语文,英语、hhh、哦哦哦‘
let b = str.split(/[+|\\\\|/|,| |(|)|*|×|,|(|)|;|;|\\-|【|】|、|:|:|\\|\\[|\\]|&]+/)
console.log(b.filter(function(curV){//filter过滤非空字符,
return curV.trim()!=‘‘
}))
运行结果:[ ‘你好‘, ‘啦啦啦‘, ‘小学数学‘, ‘语文‘, ‘英语‘, ‘哦哦哦‘ ]