我们有一个字符串声明如下: String strString="This is a test statement to find a sub sequence of string";
String 类中似乎没有搜索子序列的方法,例如: Given String strString2="test ststement to find";
这里strString2是strString的一个子序列,有没有不用字符比较的方法找到?
我们有一个字符串声明如下: String strString="This is a test statement to find a sub sequence of string";
String 类中似乎没有搜索子序列的方法,例如: Given String strString2="test ststement to find";
这里strString2是strString的一个子序列,有没有不用字符比较的方法找到?
相信你正在寻找String#indexOf(String)
。如果找到它,这也会为您提供字符串中的位置。
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.
}
在 strString 中检查 strString2 是否存在的条件是:
strString.indexOf(strString2) >= 0
或者
strString.contains(strString2)
你可以试试这个:
string1.contains(string2);`
请注意,它会抛出一个NullPointerException
if string2
is null
。在尝试比较之前,您必须确保string2
不为空;其他情况应按您的预期处理。如果您想忽略大小写,也可以将toLowerCase()
方法与方法一起使用。contains()
string1.toLowerCase().contains(string2.toLowerCase())
同样对于旧版本,您可以使用indexOf()
方法。如果string2
不在string1
,indexOf
就给你-1
。在这里,您还必须事先确保两个字符串都不null
是为了避免NullPointerException
.