我有一个包含点的字符串,我想用空格替换它们,例如:
i.love.dogs。| .because.its.nice
不幸的是,它仅替换管道之前而不是之后的点。这是我的代码:
let id = blogId.replace(".", " ")
答案 0 :(得分:4)
您需要使用设置了g
(全局)标志的正则表达式,以便使用第二个参数替换其所有实例。
所以您需要这样做:
const blogId = "i.love.dogs.|.because.its.nice"
let id = blogId.replace(/\./g, " ")
// now id is "i love dogs | because its nice"
答案 1 :(得分:0)
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace的文档。
replace()方法返回一个新字符串,该字符串具有部分或全部匹配的模式,并由替换项替换。模式可以是字符串或RegExp,而替换项可以是字符串或每个匹配项要调用的函数。 如果pattern是字符串,则只会替换第一个匹配项。
您可以使用正则表达式模式获得所需的结果:
var result = blogId.replace(/\./g, " ")
或者您可以编写一个辅助方法:
//replace all dots in string str with a space
stripDots(str: string): string {
let result = ""
for (var c of str){
if (c === ".")
c = " ";
result += c;
}
return result;
}