Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich eine Zeichenfolge beim letzten Auftreten eines Trennzeichens auflösen?

Wie kann ich eine Zeichenfolge beim letzten Auftreten eines Trennzeichens auflösen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-21 15:19:02345Durchsuche

How to Explode a String on the Last Delimiter Occurrence?

Auflösen von Zeichenfolgen beim letzten Auftreten des Trennzeichens

In vielen Fällen ist es erforderlich, eine Zeichenfolge basierend auf einem bestimmten Trennzeichen aufzuteilen. Es gibt jedoch Situationen, in denen wir nur das letzte Vorkommen des Trennzeichens berücksichtigen müssen.

Problemstellung

Gegeben:

$split_point = ' - ';
$string = 'this is my - string - and more';

An Wenn wir die Zeichenfolge auf die letzte Instanz von $split_point aufteilen, möchten wir das folgende Ergebnis erzielen:

$item[0] = 'this is my - string';
$item[1] = 'and more';

Lösung

Um dies zu erreichen, können wir a verwenden Clevere Technik, bei der die strrev-Funktion verwendet wird, um die Zeichenfolge umzukehren und sie dann auf dem umgekehrten Trennzeichen aufzulösen:

$result = array_map('strrev', explode($split_point, strrev($string)));

Durch die Umkehrung der Zeichenfolge wird die letzte Instanz des Trennzeichens zum ersten Vorkommen. Nach dem Teilen der umgekehrten Zeichenfolge kehren wir das Ergebnis um, um die ursprüngliche Reihenfolge wiederherzustellen.

Ausgabe

Dieser Ansatz erzeugt die gewünschte Ausgabe:

array (
  0 => 'and more',
  1 => 'string',
  2 => 'this is my',
)

Das obige ist der detaillierte Inhalt vonWie kann ich eine Zeichenfolge beim letzten Auftreten eines Trennzeichens auflösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn