如何替换文本中的多个字符?

时间:2019-04-05 03:39:07

标签: javascript

您可以在我的代码中看到,我正在尝试替换一些字符!所以我想要这个: 首先,我删除所有“ ||”, 然后,我用一个空格删除所有两个或更多个空格, 然后,我用“-”替换所有一个空格

在我的代码中,所有两个或多个空格都被单个空格替换,所有单个空格都被替换为“-”。但是问题是这个“ |”没有被删除。请帮忙!

document.getElementById("NormalText").value.replace(/|/g, '').replace(/\s\s+/g, ' ').replace(/ /g, '-');

2 个答案:

答案 0 :(得分:3)

您的示例无法正常运行,因为管道字符在正则表达式中具有特殊含义;它用于alternation。例如,a|c替换了ac的所有实例:

const myString = "abc";
const result = myString.replace(/a|c/g,"");
console.log(result);

要匹配文字|的字符,请在其前面加上反斜杠:\|

const myString = "my|string";
const result = myString.replace(/\|/g, '');
console.log(result);

答案 1 :(得分:2)

您需要像这样转义管道符号。

value.replace(/\|/g, '')