Maison > Java > javaDidacticiel > Comment remplacer correctement les barres obliques inverses simples par des barres obliques inverses doubles dans les chaînes Java ?

Comment remplacer correctement les barres obliques inverses simples par des barres obliques inverses doubles dans les chaînes Java ?

Susan Sarandon
Libérer: 2024-11-29 07:47:10
original
167 Les gens l'ont consulté

How to Properly Replace Single Backslashes with Double Backslashes in Java Strings?

Remplacement des barres obliques inverses simples par des barres obliques inverses doubles dans les chaînes

Lorsque vous essayez d'utiliser replaceAll pour convertir une chaîne comme "quelque chose" en "quelque chose", les développeurs rencontrent souvent des erreurs. L'approche courante consistant à utiliser la méthode replaceAll("", "\") entraîne l'exception "java.util.regex.PatternSyntaxException : erreur interne inattendue à proximité de l'index 1". Cela se produit car le caractère barre oblique inverse () est traité à la fois comme caractère d'échappement dans les chaînes et dans les expressions régulières. Pour résoudre ce problème, échappez à la barre oblique inverse dans l'expression régulière en la doublant :

string.replaceAll("\\", "\\\\");
Copier après la connexion

Cependant, une expression régulière n'est pas toujours nécessaire ici. Puisque nous souhaitons uniquement effectuer un remplacement caractère par caractère, String#replace() peut suffire :

string.replace("\", "\\");
Copier après la connexion

Notez que si la chaîne est destinée à être utilisée dans un contexte JavaScript, elle peut être plus convient d'utiliser StringEscapeUtils#escapeEcmaScript() pour couvrir une plus large gamme de caractères.

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