2012-09-07 2 views
1

J'ai la chaîne suivanteJava: comment retourner la chaîne avant ombles

String name = "John - Paul" 

Alors ce que je veux faire est de récupérer John (avant tout le -). C'est ce que je suis en train, mais je ne peux pas récupérer d'avant la - seulement après

String parseName = name.substring(name.indexOf(" - ", -1), name.indexOf(" - ", 0)); 

Comment faites-vous cela et quelqu'un peut-il expliquer aussi bien s'il vous plaît (note: je ne veux pas utiliser regex)?

Répondre

6

Vous mixez votre départ et les indices de fin - vous devez prendre une sous-chaîne du premier caractère (indice = 0) jusqu'à l'indice de " - ":

String parseName = name.substring(0, name.indexOf(" - ")); 
+0

ah très bête par moi: -S acclamations :) – flexinIT

0

Les arguments de la méthode String.substring sont le début et la fin de la chaîne. Donc, quand le premier est 0, vous sélectionnez depuis le début.

String parseName = name.substring(0, name.indexOf(" - ")); 
0

Je vous remercie de votre commentaire de (note: je ne veux pas utiliser regex), mais je voudrais encore écrire cela en utilisant split() - malgré le fait qu'il faut une chaîne regex comme argument - parce que c'est ce que c'est.

String name = "John - Paul"; 
String firstName = name.split(" - ")[0]; 

Et, dans ce cas, l'expression rationnelle est plus complexe que l'argument indexOf().

Les réponses utilisant substring() sont toujours complètement valides.

Questions connexes