检查字符串中是否有特殊字符

4

如何检查一个字符串是否包含特殊字符,比如$%#和数字?我只想要字母,例如abcd。

我所能想到的唯一方法是创建一个字母表的ArrayList,并检查每个索引是否在该列表中。

谢谢

2个回答

10

正则表达式可能是你最好的选择:

 Pattern p = Pattern.compile("[a-zA-Z]");
 Matcher m = p.matcher(sourceString);
 boolean b = m.matches();

3
您可以通过使用 sourceSting.matches("[a-zA-Z]") 来缩短它。 - Zach
@Zach - 这样做的代价是每次都需要重新编译模式。 (不过,必须承认,@lukiffer的代码没有提升模式创建。) - Stephen C

1

你可以尝试使用正则表达式:

Pattern p = Pattern.compile("[^a-zA-Z]");
if(p.matcher(string).find()){
//something is not a letter
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接