indexOf(String s)的使用,如果包含,返回的值是包含该子字符串在父类字符串中起始位置;如果不包含必定全部返回值为-1。
代码如下:
package my_automation;
public class z_test {
public static void main(String[] args) {
String test = "This is test for string";
System.out.println(test.indexOf("This")); //0
System.out.println(test.indexOf("is")); //2
System.out.println(test.indexOf("test")); //8
System.out.println(test.indexOf("for")); //13
System.out.println(test.indexOf("for string "));//-1
if (test.indexOf("This")!=-1){
//"只要test.indexOf('This')返回的值不是-1说明test字符串中包含字符串'This',相反如果包含返回的值必定是-1"
System.out.println("存在包含关系,因为返回的值不等于-1");
}else{
System.out.println("不存在包含关系,因为返回的值等于-1");
}
if (test.indexOf("this")!=-1){
//"只要test.indexOf('this')返回的值不是-1说明test字符串中包含字符串'this',相反如果包含返回的值必定是-1"
System.out.println("存在包含关系,因为返回的值不等于-1");
}else{
System.out.println("不存在包含关系,因为返回的值等于-1");
}
}
扩展资料
java string中indexOf()常用用法
Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
public class Test {
public static void main(String[] args) {
String s = "xXccxxxXX";
// 从头开始查找是否存在指定的字符 //结果如下
System.out.println(s.indexOf("c")); //2
// 从第四个字符位置开始往后继续查找,包含当前位置
System.out.println(s.indexOf("c", 3)); //3
//若指定字符串中没有该字符则系统返回-1
System.out.println(s.indexOf("y")); //-1
System.out.println(s.lastIndexOf("x")); //6
System.out.println(s.indexOf(120,2)); //4
System.out.println(s.indexOf('x',2)); //4 120是x的ASCII编码
}
}
String类中有一个方法 public boolean contains(Sting s)就是用来判断当前字符串是否含有参数指定的字符串
例
s1=“takecatb”
s2=“te”
语句:s1.contains(s2) //s1调用这个方法
若其值为ture说明s1包含s2 若为fasle 则不包含
LS的是系统自带的方法,可行
你也可以用subString()根据你的字符个数分段截取也可以做到。
实现你这个要求,String类至少有四种方法能做到:
contains、matches、regionMatches、indexOf。
好好学一下API吧。
hanzsim正解