我尝试在 javascrpt 中删除多个分号 (;) 替换为单个分号 (;)。
代码:
var test ="test1;;test2;;;test3;;;;test4;;;;test5;;;;;test6;;;;;;test7;;;;;;;test8;;;;;;;;test9"
test.replace(";;",";")
但没有得到正确的输出。(必须使用替换) 如果有解决方案
我需要这样的输出:
test1;test2;test3;test4;test5;test6;test7;test8;test9
最佳答案
三个问题:
当您将字符串作为第一个参数传递给
replace
时,只会替换第一次出现的字符串。要进行全局替换,您必须使用带有g
标志的正则表达式。如果它处理了整个字符串,您只需将
;;
替换为;
,所以如果你有;;;;
你最终会得到;;
(两个都被替换)。正则表达式在这里也有帮助,特别是/;+/g
表示“一个或多个;
字符,在字符串中全局存在。”replace
不会更改您调用它的字符串,它返回一个包含更改的新字符串。要记住它的作用,您必须在某处分配结果。
所以:
test = test.replace(/;+/g, ';');
关于javascript - 在 JavaScript 中将多个分号替换为单个分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26419590/