JAVA中如何判断一个字符串是否为另一个字符串的子串

比如 两个字符串分别为"takecatb"和"te"如何判断?
2024-12-24 20:03:49
推荐回答(5个)
回答1:

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编码

    }

}

回答2:

String类中有一个方法 public boolean contains(Sting s)就是用来判断当前字符串是否含有参数指定的字符串

s1=“takecatb”
s2=“te”
语句:s1.contains(s2) //s1调用这个方法
若其值为ture说明s1包含s2 若为fasle 则不包含

回答3:

LS的是系统自带的方法,可行
你也可以用subString()根据你的字符个数分段截取也可以做到。

回答4:

实现你这个要求,String类至少有四种方法能做到:
contains、matches、regionMatches、indexOf。
好好学一下API吧。

回答5:

hanzsim正解