1

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

字符串 s1 = "方法";

String s2 = "这是我正在使用的绝妙方法";

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

4

5 回答 5

4

这应该可以解决问题:

if (s2.contains(s1))
    return s2;
于 2012-05-16T22:00:20.103 回答
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
于 2012-05-17T02:42:32.107 回答
0

它非常简单。

if(s2.contains(s1)){
    //do your stuff
}
于 2012-05-16T22:00:58.963 回答
0

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

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

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

于 2012-05-16T22:05:57.683 回答
0

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

于 2012-05-16T22:00:43.627 回答