如果用户输入具有多个空格的字符串,如何重新提示用户输入

时间:2013-07-22 15:05:36

标签: java string input whitespace

所以我想知道如何检查用户为多个空格输入的字符串,如果它在单词之间有多个空格,我希望重新提示用户输入。我正在使用do-while循环。这是格式:

Scanner scanner01 = new Scanner(System.in);
String inputLast;
do {
    System.out.println("Enter a valid LAST name: ");
    inputLast = scanner01.nextLine();
} while()

3 个答案:

答案 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();