0

我们有一个字符串声明如下: String strString="This is a test statement to find a sub sequence of string";

String 类中似乎没有搜索子序列的方法,例如: Given String strString2="test ststement to find";

这里strString2是strString的一个子序列,有没有不用字符比较的方法找到?

4

4 回答 4

2

相信你正在寻找String#indexOf(String)。如果找到它,这也会为您提供字符串中的位置。

于 2013-03-14T16:42:16.350 回答
2

String.contains(CharSequence s)

当且仅当此字符串包含指定的 char 值序列时才返回 true。

你可以做这样的事情。

String strString="This is a test statement to find a sub sequence of string";
strString2="test ststement to find";
if(strString.contains(strString2)){
    //Do something. 
}
于 2013-03-14T16:42:39.117 回答
2

在 strString 中检查 strString2 是否存在的条件是:

strString.indexOf(strString2) >= 0

或者

strString.contains(strString2)
于 2013-03-14T16:48:14.827 回答
0

你可以试试这个:

string1.contains(string2);`

请注意,它会抛出一个NullPointerExceptionif string2is null。在尝试比较之前,您必须确保string2不为空;其他情况应按您的预期处理。如果您想忽略大小写,也可以将toLowerCase()方法与方法一起使用。contains()

string1.toLowerCase().contains(string2.toLowerCase())

同样对于旧版本,您可以使用indexOf()方法。如果string2不在string1indexOf就给你-1。在这里,您还必须事先确保两个字符串都不null是为了避免NullPointerException.

于 2013-03-14T16:42:31.137 回答