2012-04-11 6 views
2

У меня есть функция, которая должна добавить последовательность чисел (начиная с 1) в конце каждого слова в строке. Вот моя функция:Добавить последовательность чисел после каждого слова в строке

function insertNum(str) { 
    var word = new Array(); 
    word = str.split(" "); 
    return src[0] + "1 " + src[1] + "2 " + src[2] + "3 " + src[3]; 
} 

insertNum("word word word word."); // return "word1 word2 word3 word4." 
insertNum("word word word."); // return "word1 word2 word3." 
+0

Что ваш вопрос? –

ответ

3

Это должно сделать это ...

function insertNum(str) { 
    var index = 1; 
    return str.replace(/\w\b/g, function(match) { 
     return match + index++; 
    }); 
} 

jsFiddle.

+2

Хорошее использование лямбда-функции. – staticsan

+0

Как насчет последнего слова. Вот? Разве это не станет словом. [Somedigit]? – KooiInc

+0

@KooiInc Nup, проверьте скрипку. – alex

1

Простой способ:

function insertNum(str) { 
    var word = new Array(); 
    word = str.split(" "); 
    var tmp = ""; 
    for (i = 1; i <= word.length; i ++) { 
     tmp += word[i-1] + i + " "; 
    } 
    return tmp; 
} 
0
int count = 1; 
    String s = "This is nice"; 

    String a[] = s.split(" "); 

    for(String m : a){ 
     System.out.print(m + count++ + " "); 
    } 
Смежные вопросы