我正在尝试使用
替换字符串中的所有前导空格var str = ' testing 1 2 3 ',
regex = /^\s*/,
newStr = str.replace(regex, '.');
document.write(newStr)
我想得到一个结果:
'.....testing 1 2 3 '
我有什么遗失的吗?
答案 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为我解释了为什么。