1

文章にたくさんの単語が含まれているかどうかを確認したいのですが、基本的には、フレーズの部分文字列機能が必要です。Java 部分文字列の代わりに、複数の単語の間の部分文字列もチェックし、文内の連続する単語のみが一致するようにする必要があります。言うまでもなく、フレーズ自体が 1 つの単語であれば、1 つの単語の一致が機能するはずです。フレーズが複数の単語である場合、部分文字列は文内で完全に一致する必要があります。

たとえば、「本は別のカバンに入っています」と「つまり、結論に至りませんでした」という 2 つの文が与えられた場合、「言い換えれば」というフレーズに一致する文があるかどうかを確認する必要があります。

4

4 に答える 4

1

使用できますContains()

この例を確認してください:

http://www.easywayserver.com/blog/java-string-contains-example/

また、大文字と小文字を区別する必要がある場合は、両方の文字列を小文字に解析できますstr1.toLowerCase().contains(str2.toLowerCase())

于 2013-04-29T09:53:45.690 に答える
1

メソッドを使用してみてくださいString.contains。これは大文字と小文字を区別する検索であることに注意してください。

String ex1 = "The book was in the other bag";
String ex2 = "In other words, I could not arrive at a conclusion";
String search = "in other words";

ex1.toUpperCase().contains(search.toUpperCase());
ex2.toUpperCase().contains(search.toUpperCase());
于 2013-04-29T09:53:52.973 に答える
0

正規表現を探しています:

String str1 = "The book was in the other bag";
String str2 = "In other words, I could not arrive at a conclusion";
String phrase = "in other words";
Pattern pattern = Pattern.compile(phrase, Pattern.CASE_INSENSITIVE);

boolean str1containsPhrase = pattern.matcher(str1).find(); // false
boolean str2containsPhrase = pattern.matcher(str2).find(); // true
于 2013-04-29T09:57:30.003 に答える
0

Class StringUtilsの使用を検討してください。これにより、他の文字列に関連する部分文字列抽出のような部分文字列のチェックがより柔軟になります ( substringBefore / substringAfter / substringBetween as containsAny / containsOnlyおよびcontainsIgnoreCaseなど)。

于 2013-04-29T10:01:45.550 に答える