2012-05-16 261 views
1

我想部分匹配的字符串在Java例如字符串部分匹配

String s1 =“method”;

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

如果S2则S2返回S1存在完整。任何一个有算法或其他灵活的代码,谢谢你。

+0

你需要在String类IndexOf方法? –

回答

4

这应该做的伎俩:

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

它是区分大小写区分大小写将如何删除 – ibraheemkhalil

+0

是的,这是区分大小写的。您可以创建一个字符串的副本并使用toLowerCase()来摆脱区分大小写。 –

0

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

0

它非常直截了当。

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

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

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

可能是有点矫枉过正,虽然,但好知道几个不同的方法去做吧。

0

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