Frage von Plueschtier94, 5

preg_split - schneidet ab, anstatt zu splitten?

Hallo Leute, ich mal wieder :D

ich möchte gerne einen String teilen. Der sieht als Beispiel so aus:

AB1234

ich hätte gerne Zeichen und Zahlen getrennt und verwende folgendes:

$exp = preg_split("/[A-Z]+/", 'AB1234');

Als Ausgabe bekomme ich:

$exp[0] = 
$exp[1] = 1234
So soll es aussehen (unten)
$exp[0] = AB
$exp[1] = 1234

hat da jemand eine Idee warum? Vielen Dank!

Antwort
von Typhus, 4

Das liegt daran das du [A-Z] als deine delimiter setzt. Er trennt also alles zwischen dem [A-Z] steht. Da du keine Leerzeichen doer sowas hast wirst du mit preg_split nicht weit kommen. Aber du kannst auch preg_match nehmen und 2 Capture Groups abfragen:

/([A-Z]+)(\d{4})/

Kommentar von Typhus ,
<?php

$str = "AB1234";

preg_match('/([A-Z]+)(\d{4})/', $str, $treffer);

print_r($treffer);

?>

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten