2010-12-20 5 views
1

Angenommen, dies ist mein CodeJavascript Spiel

var str="abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;"; 

var patt1=/abc=([\d]+)/g; 
document.write(str.match(patt1)); 

i die Ausgabe will als 1234587,19855284

dies die Zahl zurückgeben tut, sondern gibt die komplette Zeichenkette, die in dem Muster wenn ich entfernen ' g 'von dem Muster gibt es abcd = 1234578,1234578 was mache ich falsch ??

Antwort

0

Wenn das, was Sie wollen

1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587, 19855284,1234587,19855284

dann versuchen, diese

var str="abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;"; 

var patt1=/([\d]+)/g; 
document.write(str.match(patt1)); 

oder können Sie den Array-Index verwenden, wie sjngm

erwähnt
2

match() gibt ein Array zurück. Der erste Eintrag (Index 0) ist immer die übereinstimmende Zeichenfolge. Danach erhalten Sie die passende (n) Gruppe (n). Die toString() -logic eines Arrays nimmt alle Elemente und verbindet sie mit ",". Sie können z.B. join("-") um das zu ändern.

1

Versuchen Sie folgenden Code.

var str = "abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;"; 
     str = str.replace(/abc=/gi, ''); 
     document.write(str);