我想在这种特定情况下用下划线替换字符串开头和结尾的所有空格:
var a = ' ## ## # ';
console.log(myReplace(a)); // prints ___## ## #__
即:第一个 # 之前的字符串开头的所有空格以及最后一个 # 之后的所有空格,其他所有内容(包括字符串中间的空格)保持不变。
我最初的想法是使用两个 Reg Exp,一个用于问题的每个部分。
但是,我无法获得第一个,并且我不确定是否可以使用 JS 正则表达式来做我想做的事情。
str.replace(/^\ /g, '_'); // replaces only the first space
str.replace(/^\ +/, '_') // replaces all the correct spaces with only one underscore
Thanks!
您必须使用回调函数:
var newStr = str.replace(/(^( +)|( +)$)/g, function(space) {
return space.replace(/\s/g,"_");
}
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)