2017-04-12 5 views
0

J'utilise un StringTokenizer pour marquer les lignes d'un fichier txt. Je cherche ces lignes pour un mot spécifique - 'fils'. Comment puis-je empêcher le mot «sonnet» d'être renvoyé? Voir le code extrait ci-dessous:en utilisant StringTokenizer et la recherche d'un mot dans le texte

String searchWord = "son"; 

StringTokenizer st = new StringTokenizer(text,".?!,^"); 

if(text.contains(searchWord)){ 

fw = new FileWriter("txtFiles/tokenizedSentences.txt"); 

bw = new BufferedWriter(fw); 
bw.write(text); 

Puis-je entrer quelque chose dans la construction StringTokenizer pour empêcher de revenir sonnet?

Merci

Répondre

0

cordes Tokenizer est un legacy construct that shouldn't be used. Utilisez String.split(regex delimiter) à la place. Pour résoudre votre problème, vous devriez lire du texte comme d'habitude, mais si vous ne cherchez que son, vous avez besoin de check for string equality, pas seulement si la chaîne contient des fils, alors faites Object.equals("son", text) pour le savoir. Si vous cherchez quelque chose de plus compliqué que cela, vous devrez utiliser Regular Expressions