字符串操作Java搜索子字符串序列

时间:2013-03-14 16:40:54

标签: java string collections

我们有一个声明如下的字符串: String strString =“这是一个用于查找字符串子序列的测试语句”;

String类中似乎没有一个方法可以搜索子序列,例如: 特定 String strString2 =“test ststement to find”;

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

4 个答案:

答案 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);`

请注意,如果NullPointerExceptionstring2,则会null。在尝试比较之前,您必须确保string2不为空;其他情况应该像你期望的那样处理。如果您想忽略大小写,也可以使用toLowerCase()方法和contains()方法。

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

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