0

文字列を置き換えたい。文字列は、 var str='d d day'またはなどにすることができます。単一の場合は、何らかの数値(1など)'day d d 'に置き換えたいと思います。d反映されるべきではありません。その後に他の文字が続きます。つまり、日

'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

単純な置換ループ

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

次に、b を a に再割り当てできます。

于 2013-08-02T08:57:14.377 に答える
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 を次の 1 つのスペースに置き換える必要がありますstr.replace('d ','1')

または、正規表現で次を使用できます

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