如果字符串是单个字符,则替换该字符串,如果后跟另一个字符则不替换

时间:2013-08-02 08:45:05

标签: javascript

我想替换一个字符串。 字符串可以 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 '

由于

4 个答案:

答案 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')

替换d

或者您可以使用以下正则表达式

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;