Maison > Java > javaDidacticiel > Comment diviser des chaînes en préservant les délimiteurs à l'aide d'expressions régulières ?

Comment diviser des chaînes en préservant les délimiteurs à l'aide d'expressions régulières ?

Susan Sarandon
Libérer: 2024-10-24 15:59:01
original
949 Les gens l'ont consulté

How to Split Strings Preserving Delimiters Using Regular Expressions?

Diviser des chaînes avec des délimiteurs conservés

Lorsque vous travaillez avec des chaînes contenant plusieurs délimiteurs, il devient essentiel de diviser la chaîne en ses parties constitutives tout en en préservant les informations du délimiteur. La méthode String.split() fournit un mécanisme simple pour diviser des chaînes, mais elle extrait uniquement les sous-chaînes sans conserver les délimiteurs.

Pour obtenir le résultat souhaité en fractionnant une chaîne et en conservant les délimiteurs, on peut utiliser des méthodes régulières. expressions avec des assertions d’anticipation et d’anticipation. Lookahead (?=) et lookbehind (?<=) sont des syntaxes spéciales qui permettent la correspondance sans consommer aucun caractère de la chaîne d'entrée.

Considérez l'exemple suivant :

<code class="java">String input = "(Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4)";

String[] parts = input.split("((?=;)|(?<=;))");</code>
Copier après la connexion

Dans ce code :

  • L'expression régulière (?=;) correspond à une position juste avant un point-virgule (;).
  • L'expression régulière (?<=;) correspond à une position juste avant après un point-virgule (;).
  • Le | L'opérateur spécifie que la correspondance peut se produire pour (?=;) ou (?<=;).
  • Les parenthèses les plus extérieures entourent l'expression entière et servent de parenthèses de capture.

Lorsqu'elle est utilisée avec la méthode split(), cette expression régulière identifiera chaque caractère délimiteur (;) et créera une correspondance vide pour celui-ci. Ainsi, les parties du tableau résultantes contiendront les éléments suivants :

[Text1, ;, Text2, ;, Text3, ;, Text4]
Copier après la connexion

Cette approche nous permet de conserver la structure originale de la chaîne tout en la divisant en ses composants individuels. Il s'agit d'une technique puissante pour analyser des chaînes complexes de manière à maintenir leur intégrité.

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