0

我想替换一个字符串。字符串可以是 var str='d d day'等。如果它是单个的,'day d d '我想d用某个数字(比如 1)替换。不应该反映它后面跟着任何其他字符。即在白天

'd d day'--------->'1 1 day'

'day d d '------------->'day 1 1 '

谢谢

4

4 回答 4

4
str.replace(/\b[a-z]\b/g,'1');//any character

str.replace(/\bd\b/g,'1');//d specific
于 2013-08-02T08:47:36.437 回答
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(' ');
于 2013-08-02T08:49:12.800 回答
0

您必须将 d 替换为以下一个空格str.replace('d ','1')

或者您可以将以下内容与正则表达式一起使用

str.replace(/\bd\b/,'1 ')
于 2013-08-02T08:49:29.447 回答
0

一个简单的替换循环

a = 'd d day'
b = a;
while (b.indexOf('d ') != -1){
 b = b.replace('d ', '1 ')
}

然后您可以将 b 重新分配给 a;

于 2013-08-02T08:57:14.377 回答