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("\|");
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("|"));
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!