130 votes

Chaîne de caractères.replaceAll sans RegEx

J'aimerais remplacer toutes les occurrences d'une sous-chaîne dans une chaîne de caractères, mais String.replaceAll() accepte uniquement un modèle. La chaîne que j'ai est venu d'un match précédent. Est-il possible d'ajouter échappe au modèle que j'ai ou est-il une version d' replaceAll() dans une autre classe qui accepte une chaîne de caractères au lieu d'un modèle?

209voto

Jon Skeet Points 692016

Suffit d'utiliser String.replace(CharSequence,CharSequence) plutôt que d' replaceAll.

102voto

Mark Peters Points 42201

La méthode pour ajouter des fugitifs Pattern.quote().

String replaced = myString.replaceAll(Pattern.quote(matchingStr), replacementStr)

Mais comme Jon dit que vous pouvez simplement utiliser replace(). Malgré le fait qu'il s'écarte de l' replaceAll nom, il ne remplacer toutes les occurrences comme replaceAll().

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X