javascript - 在 JavaScript 中将多个分号替换为单个分号

标签 javascript replace

我尝试在 javascrpt 中删除多个分号 (;) 替换为单个分号 (;)。

代码:

var test ="test1;;test2;;;test3;;;;test4;;;;test5;;;;;test6;;;;;;test7;;;;;;;test8;;;;;;;;test9"
test.replace(";;",";")

但没有得到正确的输出。(必须使用替换) 如果有解决方案

我需要这样的输出:

test1;test2;test3;test4;test5;test6;test7;test8;test9

最佳答案

三个问题:

  1. 当您将字符串作为第一个参数传递给 replace 时,只会替换第一次出现的字符串。要进行全局替换,您必须使用带有 g 标志的正则表达式。

  2. 如果它处理了整个字符串,您只需将 ;; 替换为 ;,所以如果你有 ;;;; 你最终会得到 ;; (两个都被替换)。正则表达式在这里也有帮助,特别是 /;+/g 表示“一个或多个 ; 字符,在字符串中全局存在。”

  3. replace 不会更改您调用它的字符串,它返回一个包含更改的新字符串。要记住它的作用,您必须在某处分配结果。

所以:

test = test.replace(/;+/g, ';');

关于javascript - 在 JavaScript 中将多个分号替换为单个分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26419590/

相关文章:

javascript - 无法将图像接收为 blob

javascript - 了解 IIFE

JavaScript/原型(prototype).js : Delete property from JSON object

javascript - 动态改变元素背景(渐变)

java - [修复和改进]通过按钮操作替换文件中的行

r - 循环 : Replacing value at a certain position

javascript - 在每个关键字前添加主题标签

javascript - Ajax 提交后的 Jquery 函数不起作用

swift - 使用 Swift 随机替换

javascript - Intellij Javascript 多行结构搜索和替换