我想替换一个字符串。
字符串可以
var str='d d day'
或'day d d '
等
我想用d
替换一些数字(比如1),如果它是单个的话。它不应该反映出它后面跟着任何其他角色.i.e in day
'd d day'
---------> '1 1 day'
'day d d '
-------------> 'day 1 1 '
由于
答案 0 :(得分:4)
str.replace(/\b[a-z]\b/g,'1');//any character
str.replace(/\bd\b/g,'1');//d specific
答案 1 :(得分:0)
您可以使用split
:
var str = 'd d day',
split = str.split(' '),
toReplace = 1,
ret;
for(var i = 0; i < split.length; i++) {
if (split[i].length > 1) continue;
split[i] = toReplace;
}
ret = split.join(' ');
答案 2 :(得分:0)
你必须用以下空格str.replace('d ','1')
或者您可以使用以下正则表达式
str.replace(/\bd\b/,'1 ')
答案 3 :(得分:0)
一个简单的替换循环
a = 'd d day'
b = a;
while (b.indexOf('d ') != -1){
b = b.replace('d ', '1 ')
}
然后你可以将b重新分配给a;