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

Javascript 如果字符串是单个字符,则替换该字符串,如果后跟另一个字符,则不替换该字符串,javascript,Javascript,我要替换字符串。 字符串可以是 var str='d day'或'd day'd'等。 我想用一些数字(比如1)替换d,如果它是单个的。它不应该被反映出来,它后面跟着任何其他字符。例如,在白天 'd day'------------->'1 1 day' 'dayd'------------->'dayd1' 谢谢您可以使用拆分: var str = 'd d day', split = str.split(' '), toReplace = 1, ret; for(va

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

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

'dayd'
------------->
'dayd1'


谢谢

您可以使用
拆分

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(' ');
var str='d d day',
拆分=str.split(“”),
toReplace=1,
ret;
对于(变量i=0;i1)继续;
拆分[i]=重新替换;
}
ret=拆分连接(“”);

您可以使用
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(' ');
var str='d d day',
拆分=str.split(“”),
toReplace=1,
ret;
对于(变量i=0;i1)继续;
拆分[i]=重新替换;
}
ret=拆分连接(“”);

您必须用以下空格替换d
str.replace('d','1')

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

str.replace(/\bd\b/,'1 ')

您必须用一个空格替换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

一个简单的替换循环

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

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

带单词边界的正则表达式:
/\bd\b/g
带单词边界的正则表达式:
/\bd\b/g
该正则表达式中需要一个全局标志。它只替换第一个d,使用全局到正则表达式您需要该正则表达式中的全局标志。它只替换第一个d,使用全局到正则表达式