Bonjour,
Dans la documentation java les fonctions suivantes sont disponibles : replace, replaceAll, replaceFirst.
Si je souhaite modifier la dernière occurence il n'y a pas de solutions?
Merci d'avance
Bonjour,
Dans la documentation java les fonctions suivantes sont disponibles : replace, replaceAll, replaceFirst.
Si je souhaite modifier la dernière occurence il n'y a pas de solutions?
Merci d'avance
je vais paraitre peut etre stupide mais je ne vois pas bien comment utiliser ceci avec mon problème
En fait toutes les methodes replace sont des raccourcis à l'utilisation de Pattern et Matcher.
Pattern et Matcher ont des interfaces plus riches, qui devrait te permettre de faire tout ce que tu veux.
Par exemple, sur Matcher, tu as la methode find(int start), qui permet de recherche un pattern à une position donnée.
J'en conviens, l'utilisation de Pattern et Matcher n'est pas simple, et demande quelques heures d'apprentissage.
Tu peux aussi regarder du cote de la classe Scanner, qui permet de chercher des pattern dans une chaine de caracteres, et fait avancer le pointeur de recherche (avec les methodes Scanner.next() et Scanner.hasNext()). Il faudrait alors boucler pour trouver le dernier element. C'est moins compliqué.
En tout cas, je ne connais pas de methode tout faite pour ton cas.
je pense que je vais regarder de plus près la classe scanner, cela me permettra de perdre moins de temps.
Il faut juste que j'arrive à bien identifier quelle chaine prendre en entrée et comment traiter le remplacement
j'ai réalisé ce bout de code
Ce qui me permet de balayer la chaine mais je ne sais pas trop quand placer le replace aurais tu une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Scanner scan = new Scanner (ligneLue); while (scan.hasNext(chaineCherchee)) { scan.next(); }
Bonjour,
Tu peux passer par la classe StringBuffer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 String chaine = "bonjour coucou bonjour salut"; String aRemplacer = "bonjour"; // chaine a remplacer int i = chaine.lastIndexOf(aRemplacer); // indice de la dernière occurence int lg = aRemplacer.length(); // taille de la chaine a remplacer StringBuffer stringBuffer = new StringBuffer(chaine); stringBuffer.delete(i, i+lg); // suppression de la dernière occurence stringBuffer.insert(i, "hello"); // insertion de la chaine de remplacement System.out.println(stringBuffer.toString());
en effet c'est ce qu'il me fallait
merci beaucoup
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager