我编写了一个代码来查找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");
}
}
}
答案 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");
}