2012-11-26 103 views
2

輸入是XYZ如何檢查字符串是否以精確的字符串結尾?

字符串數組包含三個串 即

  1. test.alpha.beta.XYZWorld
  2. test.gamaa.mu.XYZ
  3. test.nu.tera。 XYZ

如果我提供輸入「XYZ」,我需要最後兩個結果。不是test.alpha.beta.XYZWorld。 如果我使用java.lang.String中定義的lastIndexOf方法,顯然它會返回1,2和3結果。

請幫忙。

+1

有你看了'的endsWith(字符串後綴)'[在String類方法(http://docs.oracle.com/javase/7/docs/api/java/lang/ String.html#endsWith(java.lang.String))? – jlordo

+1

您的lastIndexOf必須與輸入的長度相比測試字符串的長度小得多。在test.alpha.beta.XYZWorld的情況下,它會少於這個。 – milivojeviCH

+0

謝謝..從來沒有聽說過這種方法...我的壞....它的工作.. – Shashi

回答

5

String中有endsWith()方法。

+0

我們可以做到這一點嗎?:首先改爲CharArray說[] if(a [i] =='X'&& a [ i + 1] =='y'&& a [i = 2] =='z'&& a [i + 3] =='\ 0'){ //結束字符串 } –

+0

您可以這樣做,但它是醜陋。 –

+0

yeah endsWith()更好:) –

2

檢出String.endsWith(suffix)方法從字符串API。它返回一個布爾值

String s = "test.gamaa.mu.XYZ"; 
    System.out.println(s.endsWith("XYZ")); 

    returns TRUE 
2
String pattern = "xyz"; 
    String a = "xyz"; 
    String b = "xyzA"; 

    int position = b.lastIndexOf(pattern); 
    if (b.length() == position + pattern.length()) 
    { 
     System.out.print("OK"); 
    } else 
    { 
     //error 
    } 
相關問題