Maison > développement back-end > tutoriel php > Comment effectuer un fractionnement de droite à gauche sur la dernière instance de délimiteur dans une chaîne ?

Comment effectuer un fractionnement de droite à gauche sur la dernière instance de délimiteur dans une chaîne ?

Barbara Streisand
Libérer: 2024-10-21 15:24:02
original
857 Les gens l'ont consulté

How to Perform a Right-to-Left Split on the Last Delimiter Instance in a String?

Explosion sur la dernière instance de délimiteur : une approche de droite à gauche

La tâche donnée consiste à diviser une chaîne sur un délimiteur spécifique mais considérez uniquement la dernière occurrence de ce délimiteur. Alors que les fonctions classiques de fractionnement de chaînes comme explosive() fonctionnent de gauche à droite, il existe une manière unique d'obtenir le résultat souhaité.

Considérons l'exemple suivant :

$split_point = ' - ';
$string = 'this is my - string - and more';
Copier après la connexion

L'objectif est de diviser la chaîne sur la dernière instance du délimiteur "-", ce qui donne un tableau comme :

$item[0] = 'this is my - string';
$item[1] = 'and more';
Copier après la connexion

Au lieu d'utiliser éclater() de gauche à droite, nous pouvons inverser la chaîne et inverser le tableau résultant :

$result = array_map('strrev', explode($split_point, strrev($string)));
Copier après la connexion

Cette approche implique :

  1. Inverser la chaîne ($string) pour effectuer la division de droite à gauche.
  2. Appeler éclater() sur le chaîne inversée pour la diviser sur le délimiteur.
  3. Mappage de strrev() au tableau résultant pour inverser chaque élément.

La fonction array_map() est utilisée pour appliquer strrev() à chaque élément du tableau. Le résultat réel serait :

array (
  0 => 'and more',
  1 => 'string',
  2 => 'this is my',
)
Copier après la connexion

Cette technique n'est peut-être pas la solution la plus efficace, mais elle atteint efficacement l'objectif d'exploser sur la dernière instance du délimiteur en inversant la chaîne et en inversant le résultat.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal