2017-07-02 2 views
-1

Ich habe eine Zeichenfolge wie folgt:Wie teilt man einen String von ganzen Zahlen in PHP?

$str="hello world 2 in 365 php"; 

Ich möchte dies:

['hello world' , 'in' , 'php'] 

Irgendwelche Ideen?

+0

Siehe [ask] und [mcve]. Befolgen Sie diese Richtlinien. Und zeigen Sie, was Sie bisher versucht haben und wo Sie stecken geblieben sind –

+0

Mögliches Duplikat von [Split String in Text und Nummer] (https://stackoverflow.com/questions/14348018/split-string-into-text-and-number) –

+0

Alternativ können Sie [preg_split] (http://php.net/manual/en/function.preg-split.php) –

Antwort

5

wurde ich langweilig:

$result = preg_split('/ ?\d+ ?/', $str); 

Split auf einem optionalen Raum ?, gefolgt von 1 oder mehr Ziffern \d+ von einem optionalen Leerzeichen ?. Entfernen Sie einfach die ? s, wenn Sie möchten, dass die Leerzeichen benötigt werden.

+0

vielen Dank :) – lasan

0

, dass die Arbeit für Sie tun würden (ich habe gerade mehrere Variablen aufgeteilt in sicherstellen, dass Sie die Art und Weise verstehe ich das getan haben)

$str = "hello world 2 in 365 php"; 
$withoutNum = preg_replace('/[0-9]+/', '', $str); 
$removedDoubleWhiteSpaces = preg_replace('/\s+/', ' ', $withoutNum); 

$splitedArr = explode(' ', $removedDoubleWhiteSpaces); 

var_dump($splitedArr); 

Edit:

Nachdem ich habe noch einmal gelesen, die Lösung, die oben von meiner Lösung angeboten wurde, ist die ideale. Es tut uns leid.

+0

Dies würde auch "Hallo" und "Welt" in teilen zwei Einträge im Array. – rickdenhaan

+0

Richtig, habe gerade gesehen, was er erreichen wollte. Die obige Lösung ist dann die ideale Lösung. – MyLibary

Verwandte Themen