Javascript使用RegExp替换字符串模式?
我想删除方括号内数字的字符串模式的任何出现,例如[1]、[25]、[46]、[345](我认为括号内最多可以有3个字符)。我想用空字符串“”替换它们,即删除它们 我知道这可以通过正则表达式来实现,但我对这一点很陌生。以下是我所拥有的,但却毫无用处:Javascript使用RegExp替换字符串模式?,javascript,html,string,Javascript,Html,String,我想删除方括号内数字的字符串模式的任何出现,例如[1]、[25]、[46]、[345](我认为括号内最多可以有3个字符)。我想用空字符串“”替换它们,即删除它们 我知道这可以通过正则表达式来实现,但我对这一点很陌生。以下是我所拥有的,但却毫无用处: var test = "this is a test sentence with a reference[12]"; removeCrap(test); alert(test); function removeCrap(string) { var
var test = "this is a test sentence with a reference[12]";
removeCrap(test);
alert(test);
function removeCrap(string) {
var pattern = new RegExp("[...]");
string.replace(pattern, "");
}
有人能帮我解决这个问题吗?希望问题清楚。谢谢。这样就可以了:
test = test.replace(/\[\d+\]/g, '');
因为\[
本身引入了字符范围[
-任意位数\d+
如上所述\]
-每次都要这样做/g
String.replace
不会更改原始字符串,因此必须重新分配结果(要么分配给新变量,要么返回到其本身)。这样做:
test = test.replace(/\[\d+\]/g, '');
因为\[
本身引入了字符范围[
-任意位数\d+
如上所述\]
-每次都要这样做/g
String.replace
不会更改原始字符串,因此必须重新分配结果(要么分配给新变量,要么返回到其本身)
[]
在正则表达式中有一个特殊的含义,它会创建一个新的字符。如果您想逐字匹配这些字符,必须对它们进行转义replace
返回新字符串,它不会在适当的位置更改字符串var test = "this is a test sentence with a reference[12]";
test = test.replace(/\[\d+\]/g, '');
alert(test);
正则表达式解释:
在JavaScript中,/…/
是一个正则表达式文本。g
是全局标志
按字面意思匹配\[
[
匹配一个或多个数字\d+
按字面意思匹配\]
]
[]
在正则表达式中有一个特殊的含义,它会创建一个新的字符。如果您想逐字匹配这些字符,必须对它们进行转义replace
返回新字符串,它不会在适当的位置更改字符串var test = "this is a test sentence with a reference[12]";
test = test.replace(/\[\d+\]/g, '');
alert(test);
正则表达式解释:
在JavaScript中,/…/
是一个正则表达式文本。g
是全局标志
按字面意思匹配\[
[
匹配一个或多个数字\d+
按字面意思匹配\]
]