我正面临这个问题。我得到这样的字符串。
'=--satya','=---satya1','=-----satya2'.
现在我的问题是我必须删除这些特殊字符并打印像这样的字符串
'satya'
'satya1'
'satya2'
请帮忙解决这个问题?
答案 0 :(得分:3)
var s = '=---satya1';
s.replace(/[^a-zA-Z0-9]/g, '');
替换所有非字母和非数字字符或
s.replace(/[-=]/g, '');
删除所有-
和=
字符,甚至
'=---satya-1=test'.replace(/(=\-+)/g, ''); // out: "satya-1=test"
以防止进一步删除-
或=
。
答案 1 :(得分:1)
您可以使用正则表达式(例如
)提取该信息/\'\=-{0,}(satya[0-9]{0,})\'/
正则表达式匹配
文字'
文字=
零或更多-
启动捕获组并捕获
- 文字satya
- 零或更多numbers
结束捕获组
文字'
然后使用
等代码var regex = /\'\=-{0,}(satya[0-9]{0,})\'/g;
while( (match = regex.exec("'=--satya','=---satya1','=-----satya2'")) !== null)
{
// here match[0] is the entire capture
// and match[1] is tthe content of the capture group, ie "satya1" or "satya2"
}
更多详细信息,请参阅实时示例。
答案 2 :(得分:0)
使用javascript函数replace可以帮助您在这种情况下使用正则表达式
var string = '=---satya1';
string = string.replace(/[^a-zA-Z0-9]/g, '');