2011-10-29 39 views

回答

3

你可以使用一個簡單的正則表達式:

if (str.matches("[a-zA-Z]+$")) { 
    // str consists entirely of letters 
} 

注意,這僅與字母A-Za-z工作。如果您需要正確支持Unicode,則更好的方法是遍歷字符串的字符並使用Character.isLetter()

+0

正是我所需要的。謝謝。 – user1015523

+0

這應該有更多upvotes –

1

一種方法是使用正則表達式。

private static Pattern p = Pattern.compile("^[A-Za-z]+$"); 

public static boolean match(String s) { 
    return p.matcher(s).matches(); 
} 

另一種方式是遍歷字符串中的所有字符,並檢查它們是否是按字母順序排列的。

2
public static boolean containsNumbers(String str){ 
    for(char ch : str.toCharArray()){ 
     if(Character.isDigit(ch)){ 
      return true; 
     } 
    } 
    return false; 
}