我们有一个声明如下的字符串: String strString =“这是一个用于查找字符串子序列的测试语句”;
String类中似乎没有一个方法可以搜索子序列,例如: 特定 String strString2 =“test ststement to find”;
这里strString2是strString的子序列,有没有找到不进行字符比较的方法?
答案 0 :(得分:2)
我相信你正在寻找String#indexOf(String)
。如果找到它,它也会给你字符串中的位置。
答案 1 :(得分:2)
String.contains(CharSequence s)
当且仅当此字符串包含指定的字符串时,才返回true char值序列。
你可以这样做。
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.
}
答案 2 :(得分:2)
检查strString中strString2是否存在的条件是:
strString.indexOf(strString2) >= 0
或
strString.contains(strString2)
答案 3 :(得分:0)
你可以试试这个:
string1.contains(string2);`
请注意,如果NullPointerException
为string2
,则会null
。在尝试比较之前,您必须确保string2
不为空;其他情况应该像你期望的那样处理。如果您想忽略大小写,也可以使用toLowerCase()
方法和contains()
方法。
string1.toLowerCase().contains(string2.toLowerCase())
对于旧版本,您可以使用indexOf()
方法。如果string2
不在string1
,indexOf
会给您-1
。在这里,您必须事先确保两个字符串都不是null
,但要避免使用NullPointerException
。