Aufteilen von Ziffern und lateinischen Buchstaben aus einer Zeichenfolge

8

Momentan habe ich ein Array so etwas

%Vor%

Daraus möchte ich nur den IS-001-Teil extrahieren und den japanischen Charakter auf etwas wie diesen zurücklassen.

%Vor%

Normal preg_split Ich verwende derzeit nur für Leerraum, aber es scheint so, als hätte ich ein Problem mit dem 箒 」-Zeichen, um in das nächste Array zu fallen. Also habe ich entschieden, ob ich nur diese nicht japanischen Charaktere aufteilen kann?

    
user1897151 11.08.2015, 07:08
quelle

3 Antworten

7

Versuchen Sie es

%Vor%
  • ^ bestätigt die Position am Anfang der Zeichenfolge
  • [a-zA-Z0-9\-_] entspricht einem einzelnen Zeichen in der Liste
  • + Zwischen einer und unbegrenzten Zeiten, so oft wie möglich, nach Bedarf zurückgeben
  • u modifier unicode: Musterzeichenfolgen werden wie UTF-16 behandelt.
Narendrasingh Sisodia 11.08.2015, 07:21
quelle
4

Eine Lösung hierfür ist die Verwendung von Multibyte-String-Funktionen .

So wird $char = substr($str, $i, 1); zu $char = mb_substr($str, $i, 1, 'UTF-8'); und strlen($str) wird zu mb_strlen($str, 'UTF-8') .

%Vor%

(oder)

Entfernen Sie lateinische Buchstaben und Ziffern aus der Zeichenfolge

%Vor%     
Deenadhayalan Manoharan 11.08.2015 07:13
quelle
0

Wenn Ihre Zeichenfolge in allen Ihren Fällen identisch ist, können Sie den Parameter explode with limit verwenden:

%Vor%     
Vincent Decaux 11.08.2015 07:12
quelle

Tags und Links