0

次のような文字列があります。

This.is.a.great.place.too.work.

(また)

This/is/a/great/place/too/work/

この文字列に「場所」という単語が含まれているかどうかを確認したいと思います。

それらが文字列内の単語である場合、contains("place") を使用しました。これはすべて 1 つの文字列であるため、分割しようとしましたが、構文エラーが発生しています。入手方法を教えてください。

string.contains("place") works
String.split(".").contains("place")   Error
4

7 に答える 7

2

「//」で分割してみてください。

    String string = "This.is.a.great.place.too.work.";
    System.out.println(string.split("\\.")[0]);
于 2012-09-06T06:11:42.630 に答える
2

これを使用string.split("\\.").contains("place")するとうまくいくはずです。.(dot)は正規表現の予約文字です。 を使用してエスケープする必要があります\\.

于 2012-09-06T06:10:16.377 に答える
1

私が最良だと思う方法を使用する以外に.contains、データ構造を構築してそれを検索したいようです。そのようなことをするには、これを行う必要があります。

String str = "This.is.a.great.place.too.work.";
String[] splitWords = str.split("\\.");  //The . is a special character in regex language, thus needs to be escaped. Alternatively you could use \\W which will split the string where ever it finds a character which is not a letter, digit or underscore.
List<String> words = Arrays.asList(splitWords);
System.out.println(words.contains("place"));

indexOf(String str)または、次のようにメソッドを使用することもできます。

if (str.indexOf("place") > 0)
{
    System.out.println("String Exists");
}
于 2012-09-06T06:12:32.620 に答える
1

あなたが使用することができます

String str = "This.is.a.great.place.too.work.";
boolean exists = str.contains("place");

これは、文字列内の単語placeを検索するためにチェックし、見つかった場合は true を返し、そうでない場合は false を返します。

于 2012-09-06T06:05:02.620 に答える
1

これを試して

string.split(pattern);
String[] strings = s.split(".")

Split は、パラメータに基づいて分割された文字列の配列を提供します。

文字列配列に含むを適用することはできません。代わりに次を使用してください

boolean flag = string.contains("required_pattern");
于 2012-09-06T06:05:36.157 に答える
1

content メソッドを使用するために文字列を分割する必要はありません。

string str = "This.is.a.great.place.too.work.";

boolean found = str.contains("substring"); // should return true or false

代わりに次を使用できます。

str.indexOf("substring") > 0部分文字列が文字列内にあるかどうかを判断する

これを 1 行で行うには、次のようにします。

Arrays.toString(str.split(".")).Contains("substring")
于 2012-09-06T06:09:14.020 に答える
1

このように簡単に試してみてください........

String s = "This/is/a/great/place/too/work/";
String ss = "This.is.a.great.place.too.work";

System.out.println(s.contains("place"));
System.out.println(ss.contains("place"));
于 2012-09-06T06:33:27.773 に答える