Javascript:在字符串的开头用x空格替换x

时间:2017-03-22 11:07:46

标签: javascript regex

在开头给出一个包含未知空格数的字符串。

我想用People替换每个空格。

只应替换字符串开头的空格。

此:

 

应翻译为:

'   This is a string with 3 spaces at the beginning';

而且:

'   This is a string with 3 spaces at the beginning'

应翻译为:

'     This is a string with 5 spaces at the beginning';

我正在寻找需要循环遍历字符串空格的解决方案。

2 个答案:

答案 0 :(得分:7)

这应该可以解决问题:

str.replace(/^ */, function(match) {
  return Array(match.length + 1).join(" ")
});

这匹配字符串开头的零个或多个空格,然后确定有多少个空格(使用match.length),然后重复" "给定的次数(使用{{3 }})。



var str = '     This is a string with 5 spaces at the beginning';

var result = str.replace(/^ */, function(match) {
  return Array(match.length + 1).join(" ")
});

console.log(result);




答案 1 :(得分:0)

您只想替换第一个空格。

用正则表达式拆分它并在数组上取第一个值。

在第一部分

中将/\s/g替换为 

再次,从原始单词中,用^/\s+/序列词替换 (即起始空格序列)。

正如我在下面的代码中所做的那样

var str="     This is a string with 5 spaces at the beginning";
str2=str.split(/[^\s]/)[0];
str2=str2.replace(/\s/g,' ');
str=str.replace(/^\s+/,str2);
console.log(str);