字符串部分匹配

时间:2012-05-16 21:56:56

标签: android

我希望在java中部分匹配字符串,例如

String s1 =“method”;

String s2 =“这是我正在使用的精彩方法”;

如果在s2中存在s1完成则返回s2。任何人都有算法或其他灵活的代码,提前谢谢你。

5 个答案:

答案 0 :(得分:4)

这应该可以解决问题:

if (s2.contains(s1))
    return s2;

答案 1 :(得分:0)

您可以使用Java.String.indexOf(),如here所述。

答案 2 :(得分:0)

非常直接。

if(s2.contains(s1)){
    //do your stuff
}

答案 3 :(得分:0)

最简单的方法是在if( s2.contains(s1) ) return s2;中使用String.contains 或者您可以使用正则表达式来匹配

if( s2.matches("(?i).*" + s1 + ".*") ) { return s2; }

虽然可能有点矫枉过正,但很高兴知道一些不同的方法。

答案 4 :(得分:0)

您可以使用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