您可以在我的代码中看到,我正在尝试替换一些字符!所以我想要这个: 首先,我删除所有“ ||”, 然后,我用一个空格删除所有两个或更多个空格, 然后,我用“-”替换所有一个空格
在我的代码中,所有两个或多个空格都被单个空格替换,所有单个空格都被替换为“-”。但是问题是这个“ |”没有被删除。请帮忙!
document.getElementById("NormalText").value.replace(/|/g, '').replace(/\s\s+/g, ' ').replace(/ /g, '-');
答案 0 :(得分:3)
您的示例无法正常运行,因为管道字符在正则表达式中具有特殊含义;它用于alternation。例如,a|c
替换了a
和c
的所有实例:
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, '')