正则表达式替换所有领先的空格

时间:2011-08-11 14:00:24

标签: javascript regex replace

我正在尝试使用

替换字符串中的所有前导空格

Here's what I tried so far

var str = '     testing    1   2   3    ',
    regex = /^\s*/,
    newStr = str.replace(regex, '.');

document.write(newStr)

我想得到一个结果:

'.....testing    1   2   3    '

我有什么遗失的吗?

4 个答案:

答案 0 :(得分:11)

试试这个:

var s = "   a b c";
print(s.replace(/^\s+/, function(m){ return m.replace(/\s/g, '.');}));

打印:

...a b c

答案 1 :(得分:1)

替代方案(忽略带/非空格的字符串)

var newStr = "";
newStr = (newStr = Array(str.search(/[^\s]/) + 1).join(".")) + str.substr(newStr.length);

答案 2 :(得分:0)

怎么样:

/^([ ]+)/

我不确定\s是否能解决问题,而普通应该能够解决这个问题!

答案 3 :(得分:0)

这更短了。

var text = "   a b c";
var result = s.replace(/\s/gy, ".");

console.log(result); // prints: "...a b c";

here为我解释了为什么。