2012-04-11 2 views
2

Ich habe eine Funktion, die eine Reihe von Zahlen (beginnend mit 1) am Ende jedes Wortes in der Zeichenfolge anhängen muss. Hier ist meine Funktion:Fügen Sie eine Folge von Zahlen nach jedem Wort in einer Zeichenfolge an

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

Was ist Ihre Frage? –

Antwort

3

Dies sollte es tun ...

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

jsFiddle.

+2

Gute Nutzung einer Lambda-Funktion. – staticsan

+0

Was ist mit dem letzten Wort? Hier? Würde das nicht Wort werden? – KooiInc

+0

@KooiInc Nup, überprüfen Sie die Geige. – alex

1

Eine einfache Möglichkeit:

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++ + " "); 
    } 
Verwandte Themen