Bonjour.
Voilà j'ai un petit problème... Je cherche une fonction java qui parcoure une chaîne et qui enlève les espaces inutiles (au début, à la fin) et remplacer les espaces successifs par un seul.
Merci d'avance !
Bonjour.
Voilà j'ai un petit problème... Je cherche une fonction java qui parcoure une chaîne et qui enlève les espaces inutiles (au début, à la fin) et remplacer les espaces successifs par un seul.
Merci d'avance !
Ma foi je ne connais pas de méthode normalize() fournie dans Java de base.
Mais on peut s'en sortir avec trim() qui enlève les espaces devant et derrière, et un replaceAll() avec regex qui remplace les espaces consécutifs par un seul :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String s = " Les demons de minuuuiiiiiiit "; s = s.trim().replaceAll(" +", " "); System.out.println("[" + s + "]");
Ouais, je connais cette méthode.
Je recherche un algorithme plus consistant avec i comme indice du premier caractère et j l'indice du dernier. Ainsi en parcourant la chaîne de i à j on élimine les espaces inutiles.
Ça commence à être plutôt spécialisé, ton machin.
- substring(i, j)
- méthode décrite au-dessus
- concaténation de substring(0, i) ; du résultat du trimming ; et de substring(j)
En utilisant s.charAt () pour trouver la valeur du caractère, mais après je vois pas comment on fait quand on trouve plusieur fois d'affilé un espace pour le remplacer par le caractère suivant.
ben si tu veux faire à la main:
toCharArray() pour avoir un tableau de char[]
tu fais ta popotte inutle
new String(char[]) et tu reconstruit la String
Partager