É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!