2010-04-05 6 views
5

Je suis en train de concevoir une applet de discussion. Dans ce cas, un utilisateur ajoutera son nom au début du message qu'il envoie à l'autre utilisateur. Dans la fenêtre de l'autre utilisateur, je souhaite récupérer le nom d'utilisateur ajouté à partir de cette chaîne. Comment je fais ça? Le message envoyé par l'utilisateur est la suivante:comment récupérer une partie d'une chaîne dans java?

final_msg = user_name + ": " + user_message 

Par conséquent je veux savoir comment récupérer la chaîne user_name seulement. Y at-il une fonction qui peut récupérer une sous-chaîne jusqu'à la première ":"? Je ne veux pas utiliser final_msg.split (":"), car il y a une possiblité que le message user_message contienne ":", ce qui me donnera un tableau de chaînes.

Répondre

9

Conseil:

utilisation de la méthode indexOf pour trouver premier indice de caractère ':', puis faire un substring() appel.

String userName = final_msg.substring(0,final_msg.indexOf(':')); 

Edit: Pensez à renommer votre variable final_msg-finalMsg - juste parce que, c'est le style Java. Normalement, "_" apparaît en Java Noms de constantes

+2

En parlant de noms de variables ... vous mettez 's' où je suppose que vous vouliez dire' final_msg' – Powerlord

+0

Bonne prise, sous la direction :) et +1 –

6

Vous pouvez utiliser le fractionnement et lui donner une limite maximale. à savoir: final_msg.split(":", 2)[0]

+1

+1: C'est une très bonne idée car il est facile pour bien faire. –

+0

C'est beaucoup plus facile que l'autre suggestion. Pour ne pas mentionner plus facile à lire plus tard. – Joel

Questions connexes