我需要一个可以告诉我字符串是否包含非字母数字字符的方法。
例如,如果字符串为“ abcdef?” 或“abcdefà”,该方法必须返回true。
使用Apache Commons Lang:
!StringUtils.isAlphanumeric(String)
另一种方法是遍历String的字符并检查:
!Character.isLetterOrDigit(char)
您还剩下一个问题:示例字符串“abcdefà”是字母数字,因为à是字母。但我认为您希望将其视为非字母数字,对吗?
à
因此,您可能想使用正则表达式:
String s = "abcdefà"; Pattern p = Pattern.compile("[^a-zA-Z0-9]"); boolean hasSpecialChar = p.matcher(s).find();