私はquotes.txtという外部ファイルを持っていますが、ファイルの内容をいくつか表示します:StringTokenizerを使用して文字列を検索したいのですが、探している文字列に区切り文字があります - Java
これは、検索のためのコードであるStringTokenizer str = new StringTokenizer(line, " .'");
:
1 Everybody's always telling me one thing and out the other.
2 I love criticism just so long as it's unqualified praise.
3 The difference between 'involvement' and 'commitment' is like an eggs-and-ham
breakfast: the chicken was 'involved' - the pig was 'committed'.
が、私はこれを使用し
今String line = "";
boolean wordFound = false;
while((line = bufRead.readLine()) != null) {
while(str.hasMoreTokens()) {
String next = str.nextToken();
if(next.equalsIgnoreCase(targetWord) {
wordFound = true;
output = line;
break;
}
}
if(wordFound) break;
else output = "Quote not found";
}
、私は文字列を検索したい"Everybody's"
と行目と2行目にはがありますが、アポストロフィが区切り文字の1つであるため動作しません。私はその区切り文字を削除した場合、私はこの問題に行うことができ、適切などんなコード
ライン3に"involvement"
、"commitment"
、"involved"
と"committed"
を検索することはできないのだろうか?助けてくれてありがとう。
ありがとうございます。しかし、これは自動的にケースを無視しますか? – user1141418
@ user1141418:ようこそ。そして、 'Pattern.compile'の呼び出しで' Pattern.CASE_INSENSITIVE'フラグが見えますか?これは、大文字小文字の区別を無視するように指示します(正規表現では、大文字と小文字を区別しない一致を実行します)。 – ruakh
ああ、それを見ていない。この助けてくれてありがとう! – user1141418