【发布时间】:2020-04-01 10:07:28
【问题描述】:
我有用户输入
private Scanner inn = new Scanner(System.in);
String input = inn.nextLine().toLowerCase();
我需要抛出 IllegalCharacterException(自己的异常,已经创建了这个类)用于不需要的输入(所有数字和符号,甚至可能是其他语言)我只需要英文字母。我怎样才能做到这一点?谢谢。
【问题讨论】:
我有用户输入
private Scanner inn = new Scanner(System.in);
String input = inn.nextLine().toLowerCase();
我需要抛出 IllegalCharacterException(自己的异常,已经创建了这个类)用于不需要的输入(所有数字和符号,甚至可能是其他语言)我只需要英文字母。我怎样才能做到这一点?谢谢。
【问题讨论】:
您可以将String.matches(String regex) 与正则表达式一起使用。例如
private Scanner inn = new Scanner(System.in);
String input = inn.nextLine().toLowerCase();
if(input.matches("[a-z]*")) {
// Do some stuff
}
正则表达式[a-z]* 匹配从a 到z(小写)的任何字符,不包含任何数字、符号或空格。
【讨论】: