2010-07-11 3 views
4

Je veux remplacer toutes les occurrences d'un mot dans une chaîne longue par un autre mot, par exemple si je veux changer toutes les occurrences du mot "très" avec "extrêmement" dans la chaîne suivante.comment remplacer toutes les occurrences d'un mot dans une chaîne avec un autre mot dans java?

string story = "He became a well decorated soldier in the line of fire when he and his men walked into the battle. He acted very bravely and he was very courageous." 

Je suppose que je devrais utiliser la méthode replaceAll() mais que j'insérer simplement les mots tels que

story.replaceAll("very ", "extremely "); 
+4

Si c'est Java alors 'string' devrait être en majuscule. –

Répondre

1
story = story.replaceAll("very ", "extremely "); 
15

Vous devez effectuer deux changements:

  • Les chaînes sont immuables en Java - la méthode replaceAll ne modifie pas la chaîne - elle en crée une nouvelle. Vous devez attribuer le résultat de l'appel à votre variable.
  • Utilisez les limites de mot ('\b') sinon, every deviendra eextremely.

donc votre code ressemblerait à ceci:

story = story.replaceAll("\\bvery\\b", "extremely"); 

Vous pouvez également considérer ce que vous voulez arriver à « très » ou « très ». Par exemple, vous pouvez vouloir que cela devienne "Extrêmement" et "EXTREMEMENT" respectivement.

+1

réponse bien écrite! –

-1

message = message.replaceAll ("\\ b" + mot + "\\ b", nouveau mot);

Questions connexes