Javascript替换精确匹配字符串
我有以下几点Javascript替换精确匹配字符串,javascript,Javascript,我有以下几点 removeStr(1); function removeStr(str1) { var string = '1,7,12,15,16,29'; var newstr = string.replace(str1, ''); alert('new val is ' + newstr); } 变量字符串='1,7,12,15,16,29' 如果我只想替换数字1,我将使用以下
removeStr(1);
function removeStr(str1)
{
var string = '1,7,12,15,16,29';
var newstr = string.replace(str1, '');
alert('new val is ' + newstr);
}
变量字符串='1,7,12,15,16,29'
如果我只想替换数字1,我将使用以下命令
removeStr(1);
function removeStr(str1)
{
var string = '1,7,12,15,16,29';
var newstr = string.replace(str1, '');
alert('new val is ' + newstr);
}
但这样做,最终将删除12、15、16中的数字1
在本例中,如何删除完全匹配的1
谢谢您正试图在字符串上执行此操作。 你可以考虑把它做成一个数组
var字符串='1,7,12,15,16,29';
var arr=string.split(“,”);
var newArr=arr.拼接(“1”);
string=newArr.join(“,”);
console.log(字符串)
您可以在regexp中使用边界(\b
),以仅匹配整个单词。将测试字符串更改为适用于您的问题的字符串
功能删除器(str1)
{
变量字符串='11,71,12,1,16,21';
var newstr=string.replace(新的RegExp(“\\b”+str1+“\\b”),”);
console.log('newval为'+newstr');
}
Removester(“1”)代码>函数替换一(str1、str2){
var arr=str2.split(“,”);
var newStr=“”;
for(var i=0;i“但是这样做,会删除12,15,16中的数字1。”-会吗?我很确定,在您发布的代码中,它只会删除第一个出现的“1”
字符。您的代码生成的新val是,7,12,15,16,29
替换仅替换第一个匹配。请添加此代码如何帮助OP的解释。没有解释的代码对未来的访问者没有帮助。此外,请查看常见问题解答。这肯定有效,但不知道为什么?\b
是单词bounda是吗?是的,\b
是一个单词边界,但它匹配一个位置,而不是任何实际字符。匹配从“\b1\b”
返回的示例字符串只是“1”12
、15
和16
不匹配,因为在1
之前只有一个\b
,而不是之后。这只适用于英语language@HouzayfaRifai这是正则表达式的一个限制。但是由于堆栈溢出的这个化身是,我不知道为什么你会期望有任何不同不过,这可能会对你有所帮助。