所以我想知道如何检查用户为多个空格输入的字符串,如果它在单词之间有多个空格,我希望重新提示用户输入。我正在使用do-while循环。这是格式:
Scanner scanner01 = new Scanner(System.in);
String inputLast;
do {
System.out.println("Enter a valid LAST name: ");
inputLast = scanner01.nextLine();
} while()
答案 0 :(得分:0)
有关如何使用单个空格替换多个空格的说明,请阅读how-to-replace-2-or-more-spaces-with-single-space-in-string。
答案 1 :(得分:0)
一个解决方案就是这个(基于此answer):
Scanner scanner01 = new Scanner(System.in);
String inputLast;
do {
System.out.println("Enter a valid LAST name: ");
inputLast = scanner01.nextLine();
if(inputLast.length() - inputLast.replaceAll(" ", "").length() <= 1){
break;
}
} while(true);
答案 2 :(得分:0)
String str = "Sam ple";
Pattern pattern = Pattern.compile("\\s{2,}");
Matcher matcher = pattern.matcher(str);
boolean check = matcher.find();