我试图用空格替换字符串中的所有"WUB“。问题是,如果我在一行中有两个"WUB“,它将返回两个空白。如果我有"WUBWUB“,如何只返回一个空白?
function songDecoder(song) {
var replacedLyrics = song.replace(/#|WUB/g,' ');
return replacedLyrics;
}发布于 2018-10-31 15:08:45
为了你的目的,/#|WUB/g应该是/#|(WUB)+/g。您还想用单个空格替换多个“#”吗?那么你可能想要/(#|WUB)+/g
圆括号将目标字符串组合在一起,然后加上寻找组的一个或多个重复。
如果您不希望在字符串的开头或结尾有一个空格,这可能是另一个regex函数,但最简单的方法可能是使用.trim()函数。所以:
alert(
songDecoder('WUBYOUREWUBWELCOMEWUB')
)
function songDecoder(song) {
var replacedLyrics = song.replace(/(#|WUB)+/g,' ').trim();
return replacedLyrics;
}
发布于 2018-10-31 15:10:13
试试这个regex /(WUB)+/g,它将匹配括号中的一个或多个元素。
function songDecoder(song)
{
var replacedLyrics = song.replace(/(WUB)+/g,' ');
return (replacedLyrics);
}
console.log(songDecoder("hello world !"));
console.log(songDecoder("WUB"));
console.log(songDecoder("helloWUBWUBworldWUB!"));
发布于 2018-10-31 15:09:52
将代码更改为.replace(/#|(WUB)+/g, " ");。
这将在用空白替换它们之前,在一行中搜索尽可能多的“WUB”。
https://stackoverflow.com/questions/53086416
复制相似问题