我想替换一个字符串。字符串可以是
var str='d d day'
等。如果它是单个的,'day d d '
我想d
用某个数字(比如 1)替换。不应该反映它后面跟着任何其他字符。即在白天
'd d day'
--------->'1 1 day'
'day d d '
------------->'day 1 1 '
谢谢
我想替换一个字符串。字符串可以是
var str='d d day'
等。如果它是单个的,'day d d '
我想d
用某个数字(比如 1)替换。不应该反映它后面跟着任何其他字符。即在白天
'd d day'
--------->'1 1 day'
'day d d '
------------->'day 1 1 '
谢谢
str.replace(/\b[a-z]\b/g,'1');//any character
str.replace(/\bd\b/g,'1');//d specific
您可以使用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(' ');
您必须将 d 替换为以下一个空格str.replace('d ','1')
或者您可以将以下内容与正则表达式一起使用
str.replace(/\bd\b/,'1 ')
一个简单的替换循环
a = 'd d day'
b = a;
while (b.indexOf('d ') != -1){
b = b.replace('d ', '1 ')
}
然后您可以将 b 重新分配给 a;