Rechercher un mot dans une chaîne de caractères ... - Java - Programmation
Marsh Posté le 22-05-2005 à 14:00:04
je pense qu en te basant sur un StringTokeniser, si tu connais le délimiteur entre les 3 mots, tu devrais pouvoir faire ce que tu veux
mais n'étant qu un débutant également, je laisse ma place aux experts
Marsh Posté le 22-05-2005 à 15:43:42
Après une petite recherche, je me suis orienté vers la méthode split.
String[] mots = message.split (" " );
avec mots[1] par exemple qui renvoie le 2ième mot (le premier mot étant initialisé à 0).
Je ne sais pas si c'est la meilleure méthode. Il faut que je fasse un test avec 2 espaces insérés dans le message.
Marsh Posté le 22-05-2005 à 17:06:22
Dans le tuto de sun il y a marqué qu'il vaut mieux utiliser split que StringTokenizer.
Marsh Posté le 22-05-2005 à 17:28:12
merci kruso pour l'info. complémentaires.
split fonctionne correctement même avec plusieurs espaces.
J'ai une question complémentaire.
J'utilise un bouton connexion pour implémenter une connexion entre un client et un serveur.
JButton boutonConnexion = new JButton("Connexion" );
boutonConnexion.addActionListener(new EcouteBoutonConnexion());
public class EcouteBoutonConnexion implements ActionListener {
public void actionPerformed(ActionEvent ev) {
try {
}
} catch(Exception ex) { ex.printStackTrace();}
Comment faire pour qu'une fois que l'utilisateur clique le bouton connexion, il ne puisse plus le faire.
Merci
Marsh Posté le 22-05-2005 à 17:34:58
kruso a écrit : Dans le tuto de sun il y a marqué qu'il vaut mieux utiliser split que StringTokenizer. |
Merci pour l'info !
Marsh Posté le 23-05-2005 à 00:24:03
Si il n'y a pas de delimiteurs c'est un probleme tres compliqué, limite NP-complet je crois. ( apres si il ya que 3 mots ca reduit les possibilités donc la complexite )
Il faut tout d'abord un dictionnaire de mots puis une grammaire et avec du backtrack faut rechercher la meilleure solution.
"T--h--e--s--e--a--r--e--t--h--e--r--e--a--s--o--n--s"
*__*
*_____*
*__________*
*_____*
... etc ...
Sinon un peu de lecture : www.fas.harvard.edu/~libcs124/SUMMER/lec9ext.pdf
Marsh Posté le 23-05-2005 à 15:20:22
kruso a écrit : Dans le tuto de sun il y a marqué qu'il vaut mieux utiliser split que StringTokenizer. |
j'ai jamais compris pourquoi d'ailleur. Plus gourmand en ressource pour un résultat identique ... mis à part qu'on peut définir les séparateur à coup de regexp, mais bon ...
remarque : le split n'est dispo qu'en jdk >= 1.4
Marsh Posté le 22-05-2005 à 11:18:34
Je (newbie) ne trouve pas la solution à ce problème :
J'ai une chaîne de caractères avec 3 mots.
J'aimerais trouver un moyen de pouvoir sélectionner le deuxième mot.
Ma chaîne de carctères n'est jamais la même s'agissant d'un message et je ne connais pas les mots à avance.
Merci pour votre contribution.
Message édité par sneakz le 22-05-2005 à 11:45:49