[英]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.