2012-08-16 42 views
1

我在JavaScript中有一个字符串,里面有一些特殊字符。用于删除特殊字符的Javascript和RegEx

var string = xxxx † yyyy § zzzz 

而且我想删除这些特殊字符,只得到:

串= XXXX YYYY ZZZZ

我已经tryed与此正则表达式:

&#?[a-z0-9]+; 

就像是:

string = string.replace(/&#?[a-z0-9]+;/g, ""); 

但特殊字符与此正则表达式不匹配。

你有一个想法,我该怎么做?

正则表达式正常工作,请例子:http://regexr.com?31rrj

+1

这工作得很好...... http://jsfiddle.net/MKjb3/ – canon 2012-08-16 14:36:08

回答

4

这对我来说工作得很好。
工作,例如:http://jsfiddle.net/JwrZ6/

这也可能是你的语法,字符串必须与“周围被定义

var string = "xxxx † yyyy § zzzz"; 

var string = xxxx † yyyy § zzzz; 
+0

谢谢,我现在播下了这个问题,我用纯文本和corse转换了字符串,这不起作用。谢谢 – 2012-08-16 14:42:32

+0

不适用于我...〜 – Hazlo8 2017-02-20 09:06:46

1

你应该使用RegExp如下:

string.replace(new RegExp(regexp_expression, 'g'), ''); 

语法RegExp类是下一个:

var regexp = new RegExp(pattern [, flags]); 

您可以阅读documentation在这个班上。

+0

正则表达式字面是不是他的问题。 – canon 2012-08-16 14:55:06

+0

@canon,可能,但这一点也可以纠正。 – 2012-08-16 14:59:57

1

你可以删除HTML实体正则表达式,像这样:

function removeEntities(str) { 
    return (''+str).replace(/&\w+;\s*/g, ''); 
} 

removeEntities("xxxx † yyyy § zzzz"); // => "xxxx yyyy zzzz" 
+0

谢谢,我现在播种问题,我以纯文本和科西嘉转换字符串,这是行不通的。谢谢 – 2012-08-16 14:43:17