在字符串中查找子字符串

时间:2014-03-30 14:52:26

标签: java string substring

我编写了一个代码来查找java中字符串中的子字符串,但我想知道是否有一个简短的方法来执行此操作,或者是否有内置函数来执行此操作。

以下是代码:

import java.util.*;
class substr 
{
    public static void main (String args [])
    {
        String str1 = new String();
        String str2 = new String();
        String str3 = new String();
        int check=1,k;
        Scanner obj= new Scanner (System.in);
        System.out.println("Enter a string");
        str1=obj.nextLine();
        System.out.println("Enter Sub String");
        str2=obj.nextLine();
        int len=str1.length();
        System.out.println(check);
        for( int c = 0 ; c < len&&check!=0 ; c++ )
        {
            for( int i = 1 ; i <= len - c&& check!=0 ; i++ )
            {
                str3 = str1.substring(c, c+i);
                if (str2.equals(str3))
                {   
                    check=0;
                }
            }
       }
       System.out.println(check);
       if (check==0)
       {
           System.out.println("Sub String");
       }
       else if ( check==1)
       {
           System.out.println("No");
       }
    }
}

1 个答案:

答案 0 :(得分:1)

如果您想要一种方法来执行您的代码所做的事情(检查字符串是否是另一个字符串的子字符串),您可以使用String#contains

if(str1.contains(str2)) {
    System.out.println("Sub String");
} else {
    System.out.println("No");
}

<小时/> 您也可以使用String#indexOf

if(str1.indexOf(str2)>=0) {
    System.out.println("Sub String");
} else {
    System.out.println("No");
}