【发布时间】:2021-11-06 20:54:34
【问题描述】:
原始字符串是"a,d,k"
我想删除所有, 并使其成为"adk"。
我尝试了下面的代码,但它不起作用。
"a,d,k".replace(/,/,"")
【问题讨论】:
-
“不起作用”?请详细说明。什么“不起作用”?
-
我搜索了相同的问题。感谢您节省了我的时间
标签: javascript string
原始字符串是"a,d,k"
我想删除所有, 并使其成为"adk"。
我尝试了下面的代码,但它不起作用。
"a,d,k".replace(/,/,"")
【问题讨论】:
标签: javascript string
您没有将替换方法的结果分配回您的变量。当您调用 replace 时,它会返回一个新字符串而不修改旧字符串。
例如,将其加载到您喜欢的浏览器中:
<html><head></head><body>
<script type="text/javascript">
var str1 = "a,d,k";
str1.replace(/\,/g,"");
var str2 = str1.replace(/\,/g,"");
alert (str1);
alert (str2);
</script>
</body></html>
在这种情况下,str1 仍将是 "a,d,k",str2 将是 "adk"。
如果你想改变str1,你应该这样做:
var str1 = "a,d,k";
str1 = str1.replace (/,/g, "");
【讨论】:
str.split(",").join("")
使用String.replace(),例如
var str = "a,d,k";
str = str.replace( /,/g, "" );
注意正则表达式上的g(全局)标志,它匹配“,”的所有实例。
【讨论】:
如果你想删除多个字符,说逗号和点你可以写
<script type="text/javascript">
var mystring = "It,is,a,test.string,of.mine"
mystring = mystring.replace(/[,.]/g , '');
alert( mystring);
</script>
【讨论】:
你可以试试这样的:
var str = "a,d,k";
str.replace(/,/g, "");
【讨论】:
<script type="text/javascript">var s = '/Controller/Action#11112';if(typeof s == 'string' && /\?*/.test(s)){s = s.replace(/\#.*/gi,'');}document.write(s);</script>
这是更常见的答案。并且可以和s= document.location.href;一起使用
【讨论】:
如果您需要大于 999,999.00 的数字,您将遇到问题。
这些仅适用于小于 100 万、1,000,000 的数字。
他们只删除 1 或 2 个逗号。
这里可以删除最多 12 个逗号的脚本:
function uncomma(x) {
var string1 = x;
for (y = 0; y < 12; y++) {
string1 = string1.replace(/\,/g, '');
}
return string1;
}
如果您需要更大的数字,请修改该 for 循环。
【讨论】:
g 表示全局,并且将在第一次传递时从字符串中删除所有逗号,其他11 个循环什么也不做。此外,您不需要转义文字中的逗号字符。我建议不要对其他人的回答如此敌视和批评。