Maison > Java > javaDidacticiel > Comment diviser correctement une chaîne Java en utilisant le symbole de tuyau comme délimiteur ?

Comment diviser correctement une chaîne Java en utilisant le symbole de tuyau comme délimiteur ?

Barbara Streisand
Libérer: 2024-12-19 02:34:31
original
702 Les gens l'ont consulté

How to Correctly Split a Java String Using the Pipe Symbol as a Delimiter?

Diviser une chaîne Java par le symbole Pipe à l'aide de split(""|")

Diviser une chaîne Java à l'aide de la méthode split() est une technique courante pour diviser la chaîne en sous-chaînes plus petites en fonction d'un délimiteur spécifié. Cependant, lorsque vous utilisez le symbole barre ("|") comme délimiteur, cela peut conduire à des résultats inattendus. résultats.

Selon la documentation officielle Java, le symbole pipe ("|") dans une expression régulière (Regex) est traité comme l'opérateur OR. Cela signifie que test.split("|") se divise effectivement. la chaîne basée sur "A" ou "|". Cela entraîne une sortie inattendue où des chaînes vides ("<") sont également incluses dans les résultats fractionnés.

Pour éviter ce comportement, il est nécessaire pour échapper au symbole du tuyau à l'aide d'un barre oblique inverse (). La barre oblique inverse agit comme un caractère d'échappement dans les expressions régulières et vous permet de traiter le symbole de barre oblique comme un caractère littéral plutôt que comme un opérateur. La façon correcte de diviser la chaîne par le symbole de barre oblique est :

String[] result = test.split("\|");
Copier après la connexion
.

En échappant au symbole de tuyau, l'expression régulière "|" correspond uniquement au symbole de tuyau lui-même et la chaîne est divisée en le symbole souhaité. substrings :

>A<
>B<
>C<
>D<</p>
<p>Vous pouvez également utiliser la méthode Pattern.quote() pour créer une version échappée du symbole de canal :</p>
<pre class="brush:php;toolbar:false">String[] result = test.split(Pattern.quote("|"));
Copier après la connexion

Cette méthode renvoie une chaîne avec tous les occurrences de métacaractères dans la chaîne d'entrée ont été échappées, préservant ainsi la signification littérale des caractères. En utilisant Pattern.quote("|) dans la méthode split(), vous obtenez le même résultat qu'en échappant manuellement le symbole de canal.

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.cn
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