我在javascript中有一个字符串,里面有一些特殊字符。
var string = xxxx † yyyy § zzzz
我想删除这些特殊字符并仅获取:
string = xxxx yyyy zzzz
我试过这个正则表达式:
&#?[a-z0-9]+;
就像那样:
string = string.replace(/&#?[a-z0-9]+;/g, "");
但特殊字符与此正则表达式不匹配。
请您知道我该怎么做?
正则表达式效果很好,请参阅示例:http://regexr.com?31rrj
答案 0 :(得分:4)
这对我来说很好。
工作示例:http://jsfiddle.net/JwrZ6/
这可能是你的语法,字符串必须用“围绕它们来定义。
var string = "xxxx † yyyy § zzzz";
不是
var string = xxxx † yyyy § zzzz;
答案 1 :(得分:1)
您应该使用RegExp
,如下所示:
string.replace( new RegExp( regexp_expression, 'g' ), '' );
RegExp
类的语法是下一个:
var regexp = new RegExp(pattern [, flags]);
您可以在此课程上阅读documentation。
答案 2 :(得分:1)
使用JavaScript的string.replace()方法怎么样?它可能比RegEx更快,更可读,但它可能需要几行代码。
这是关于替换http://www.bennadel.com/blog/142-Ask-Ben-Javascript-String-Replace-Method.htm的整个写作 - 而Ben也使用RegEx和string.replace。这应该包含你需要的一切。
答案 3 :(得分:1)
您可以使用正则表达式删除HTML实体,如下所示:
function removeEntities(str) {
return (''+str).replace(/&\w+;\s*/g, '');
}
removeEntities("xxxx † yyyy § zzzz"); // => "xxxx yyyy zzzz"