2011-10-29 37 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; 
}