gpt4 book ai didi

JavaScript/jQuery : Replace 2nd, 第三个等空格,但不是文本中的第一个空格

转载 作者:行者123 更新时间:2023-11-30 09:39:32 24 4
gpt4 key购买 nike

如何用   替换所有空格,但不替换第一个空格(后面的第一个空格不是空格)。

例如,这个字符串:

var str = "hello     how are you    doing?  "

应改为

"hello     how are you    doing?  "

如您所见,第一个空格被保留。

例如,

str.split(' ').join(' ')

会将所有 ' ' 替换为  

最佳答案

str.replace(/  +/g, function(match) {
return " " + Array(match.length).join(' ');
});

这使用 replace 的版本,该版本采用生成替换的函数作为第二个参数,并将每次出现的 2 个或更多空格替换为一个空格,后跟适当数量的 .

有一个 String.prototype.repeat 函数,但 IE 不支持它,因此您可能需要使用另一种方法来生成   序列目前。 Array(match.length).join(' ') 是重复取自 this answer 的字符串的一种简短方法。另一个问题。

作为替代方案,您可以使用此函数来执行重复,同样取自 Repeat String问题:

function repeat(pattern, count) {
if (count < 1) return '';
var result = '';
while (count > 1) {
if (count & 1) result += pattern;
count >>= 1, pattern += pattern;
}
return result + pattern;
}

请注意,使用 Array(n).join 时,您无需从匹配长度中减去 1 即可获得正确数量的不间断空格。例如Array(3).join(' ')"  " 但对于生成重复字符串的其他方法,您将需要比比赛时长。

关于JavaScript/jQuery : Replace 2nd, 第三个等空格,但不是文本中的第一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41883847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com