簡體   English   中英

正則表達式過濾掉某些字符

[英]Regex to filter out certain characters

如果您提供了一個隨機字符串,那么正則表達式字符串會是什么樣子:

“u23ntfb23nnfj3mimowmndnwm8”

我想過濾出某些字符,如2,b,j,d,g,k和8?

所以在這種情況下,函數將返回'2bjd8'

互聯網上有很多文獻,但沒有直接到達關鍵點。 創建正則表達式來過濾字符串應該不是很難嗎?

PS。 這不是家庭作業,但我很擅長愚蠢的朋克

您需要先創建一個正則表達式,然后在string執行它。

這就是你需要的:

 var str = "u23ntfb23nnfj3mimowmndnwm8"; var re = /[2bjd8]+/g; alert((str.match(re) || []).join('')); 

要獲得所有匹配項,請將String.prototype.match()與正則表達式一起使用。

它將在輸出中為您提供以下匹配:

2 b2 jd 8

您可以使用字符類來定義字符。

使用match()方法分析字符串,然后過濾掉重復項。

function filterbychr(str) {
  var regex = /[28bdgjk]/g
  return str.match(regex).filter(function(m,i,self) {
    return i == self.indexOf(m)
  }).join('')
}

var result = filterbychr('u23ntfb23nnfj3mimowmndnwm8') //=> "2bjd8"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM