我想在java中部分匹配字符串,例如
字符串 s1 = "方法";
String s2 = "这是我正在使用的绝妙方法";
如果 s1 complete 存在于 s2 中,则 s2 返回。任何人都有算法或其他灵活的代码,提前谢谢你。
我想在java中部分匹配字符串,例如
字符串 s1 = "方法";
String s2 = "这是我正在使用的绝妙方法";
如果 s1 complete 存在于 s2 中,则 s2 返回。任何人都有算法或其他灵活的代码,提前谢谢你。
这应该可以解决问题:
if (s2.contains(s1))
return s2;
您可以使用类的contains()
方法String
,请学习以下示例,
public class TestClass
{
private String getString ( String str1, String str2 )
{
if ( str2.contains (str1) )
{
return str2;
}
else
{
return "-1";
}
}
public static void main ( String args[] )
{
String s1 = "method";
String s2 = "this is wonderful method i am using";
TestClass tc = new TestClass();
System.out.println ( tc.getString(s1, s2) );
}
}
// Output
// this is wonderful method i am using
它非常简单。
if(s2.contains(s1)){
//do your stuff
}
最简单的方法是使用 String.containsif( s2.contains(s1) ) return s2;
或者你可以使用正则表达式来匹配
if( s2.matches("(?i).*" + s1 + ".*") )
{
return s2;
}
虽然可能有点矫枉过正,但很高兴知道一些不同的方法来做到这一点。
您可以使用 Java.String.indexOf(),如此处所述。