Existe-t-il un moyen simple de supprimer une sous-chaîne d'une donnée String
en Java?
Exemple "Hello World!"
:, suppression "o"
→"Hell Wrld!"
Vous pouvez facilement utiliser String.replace()
:
String helloWorld = "Hello World!";
String hellWrld = helloWorld.replace("o","");
Vous pouvez utiliser StringBuffer
StringBuffer text = new StringBuffer("Hello World");
text.replace( StartIndex ,EndIndex ,String);
Découvrez Apache StringUtils :
static String replace(String text, String searchString, String replacement)
Remplace toutes les occurrences d'une chaîne dans une autre chaîne.static String replace(String text, String searchString, String replacement, int max)
Remplace une chaîne par une autre chaîne dans une chaîne plus grande, pour les premières valeurs maximales de la chaîne de recherche.static String replaceChars(String str, char searchChar, char replaceChar)
Remplace toutes les occurrences d'un caractère dans une chaîne par une autre.static String replaceChars(String str, String searchChars, String replaceChars)
Remplace plusieurs caractères dans une chaîne en une seule fois.static String replaceEach(String text, String[] searchList, String[] replacementList)
Remplace toutes les occurrences de chaînes dans une autre chaîne.static String replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)
Remplace toutes les occurrences de chaînes dans une autre chaîne.static String replaceOnce(String text, String searchString, String replacement)
Remplace une fois une chaîne par une autre chaîne à l'intérieur d'une chaîne plus grande.static String replacePattern(String source, String regex, String replacement)
Remplace chaque sous-chaîne de la chaîne source qui correspond à l'expression régulière donnée par le remplacement donné à l'aide de l'option Pattern.DOTALL.
Dans votre exemple,
la source
Cela fonctionne bien pour moi.
ou vous pouvez utiliser
la source
Vous devriez avoir à regarder
StringBuilder/StringBuffer
ce qui vous permet de supprimer, insérer, remplacer des caractères à un décalage spécifié .la source
Vous pouvez également utiliser la fonction CharMatcher.removeFrom de goyave .
Exemple:
la source
La méthode ci-dessus aidera à obtenir la réponse.
la source
Vous pouvez également utiliser Substring pour le remplacer par une chaîne existante:
la source
Voici l'implémentation pour supprimer toutes les sous-chaînes de la chaîne donnée
L'implémentation de la méthode isSubstring () est ici
la source
Au cas où vous auriez une logique compliquée pour filtrer le caractère, juste une autre façon au lieu de
replace()
.la source
Si vous connaissez l'index de début et de fin, vous pouvez utiliser ce
la source