Maison >Java >javaDidacticiel >Comment échapper au délimiteur de canal dans String.split() pour la résolution d'ambiguïté Regex ?

Comment échapper au délimiteur de canal dans String.split() pour la résolution d'ambiguïté Regex ?

DDD
DDDoriginal
2024-11-04 18:44:01977parcourir

How to Escape the Pipe Delimiter in String.split() for Regex Ambiguity Resolution?

Échapper au délimiteur de tuyaux dans String.split() pour la résolution d'ambiguïté Regex

Lors de l'analyse des données délimitées par des tuyaux, la nécessité d'échapper au Le caractère pipe dans la méthode String.split() est dû à son double rôle d'opérateur regex. Dans ce contexte, le caractère pipe ('|') signifie une opération 'ou', créant une ambiguïté quant à son utilisation prévue comme délimiteur.

Pour clarifier l'interprétation, échapper au caractère pipe avec une barre oblique inverse ('' ) indique à la méthode split() de le traiter comme un symbole littéral représentant le délimiteur de canal lui-même. Cela évite les malentendus avec les opérateurs regex et garantit le comportement de fractionnement attendu.

Voici une démonstration pratique :

<code class="java">private ArrayList<String> parseLine(String line) {
    ArrayList<String> list = new ArrayList<>();
    String[] list_str = line.split("\|"); // note the escape "\" here
    for (String s : list_str) { list.add(s); } return list;
}</code>

En échappant le caractère pipe, la méthode split() l'interprète correctement comme un délimiteur , divisant la ligne d'entrée en ses composants individuels.

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!

Déclaration:
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