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