JS使用正則匹配字符串去掉多余符號


一、起因:

數據庫里的標簽是以字符串存儲的:

示例:

可能以逗號分隔:

小學數學,語文,英語

或者也可能以頓號分隔:

小學、初中、高中、

現在我想要實現字符串分割,使用分割后的字符串做標簽,所以需要進行字符串處理。

二、思路:

JS中有字符串處理函數split,他可以把字符串分割后返回一個數組,適合我這種場景,因為分割后的字符串數組剛好用來當標簽。

split,需要傳入一個正則表達式進行匹配,所以使用split剛好解決我的問題。

三、解決:

//斜杠,反斜杠,空格,乘號,英文逗號,中文逗號,中文括號,中文分號,連字符,加號,【,】,頓號,下划線,中文冒號,|,[,],&
//還有乘號“×”,而非“xX”【和字母不同】
//英文分號,英文冒號

 let str = '你好,啦啦啦,小學數學,語文,英語、hhh、哦哦哦'
 let b = str.split(/[+|\\\\|/|,| |(|)|*|×|,|(|)|;|;|\\-|【|】|、|:|:|\\|\\[|\\]|&]+/)
 console.log(b.filter(function(curV){//filter過濾非空字符,
     return curV.trim()!=''
 }))

運行結果:[ '你好', '啦啦啦', '小學數學', '語文', '英語', '哦哦哦' ]

若不使用filter輸出的結果:
 [
     '你好',  '啦啦啦', '小學數學',
     '語文',  '英語',  '',
     '',    '',    '',
     '哦哦哦'
   ]


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM