Je me demandais quelle serait la meilleure façon de faire de la suppression de caractères avant une virgule dans une chaîne, ainsi que de retirer la virgule elle-même, laissant simplement les caractères après la virgule de la chaîne, si la chaîne est représentée comme " ville, pays '. p>
Merci d'avance p>
5 Réponses :
Donc, vous voulez
ville, pays p> blockQuote>
devenir p>
pays p> blockquote>
Un moyen facile de faire est-ce: p>
xxx pré> C'est
"gourmand" fort> cependant, ce qui signifie qu'il va changer < / p> ville, état, pays p> blockquote>
dans p>
pays p> BlockQuote>
Dans votre cas, vous voudrez peut-être qu'il devienne p>
état, pays p> BlockQuote>
Je ne pouvais pas dire à votre question. p>
Si vous voulez
"non gourmand" fort> correspondant, utilisez p> xxx pré> Ceci va produire P>
état, pays p> blockQuote> p>
Qu'est-ce que . *, Code>? Merci!
D'un côté non s'il le souhaitait> City, État, pays à devenir> État, changements de pays remplaxl code> à
remplafirst code>
system.out.println ("Ville, état , pays ".replacefirst (". *, "," ")); code> mais oui la question n'est pas claire
@Ruchirbaronia La période est n'importe quel caractère, l'astérisque indique la répétition (ce qui signifie un nombre quelconque de périodes / caractères) et la virgule est une virgule régulière de sorte que la carte générique. * Ne le précède que.
@Codemonkey: Votre relevé est fausse, car l'astérisque en combinaison avec un point rend la regex gourmand. Pour le faire fonctionner, vous pouvez utiliser: "ville, état, pays" .replacefirst ("\\ w *,", "") code>.
@Jacobvanlingen en effet j'avais tort. Merci d'avoir appelé ça
GreandeaNswer monsieur merci merci
Vous pouvez implémenter une sorte de sous-chaîne qui trouve tous les index des caractères avant votre virgule, puis tout ce que vous auriez à faire est de les supprimer. P>
Si ce que vous souhaitez extraire des données tout en laissant la chaîne d'origine intacte, vous devez utiliser la fonction SPLIT (String Regex).
String foo = new String("city,country"); String[] data = foo.split(",");
Les chaînes sont immuables, la chaîne d'origine sera donc toujours laissée intacte.
Ceci peut être fait avec une combinaison de sous-chaîne code> et
indexof code>, à l'aide de
indexof code> pour déterminer la position de la (première) virgule, et
Substring CODE> Pour extraire une partie de la chaîne par rapport à cette position.
String s = "city,country";
String s2 = s.substring(s.indexOf(",") + 1);
Vérifiez que ce Je l'ai trouvé plus rapide que .replaceall (". *,", "") p> p> p> p> p> p> P> P> P> P> P> P>
Quel est '.*,'? Merci
C'est regex ". *" Pour un certain nombre de caractères et "," des virgules utilisées comme délimiteur.
Avez-vous essayé quelque chose?
Les expressions régulières sont votre ami