Как сделать так, чтобы сканер в Java не заботился о пунктуации

#java #if-statement #java.util.scanner

#java #if-statement #java.util.scanner

Вопрос:

Я знаю, как сделать так, чтобы Java-сканер не заботился о верхнем или нижнем регистре, но как мне сделать так, чтобы он не заботился о пунктуации? Я хочу сделать это, чтобы мне не нужно было вводить все это:

 if (mirioutput.equalsIgnoreCase("You're an idiot.") ||
    mirioutput.equalsIgnoreCase("Your an idiot.") ||
    mirioutput.equalsIgnoreCase("You're an idiot") ||
    mirioutput.equalsIgnoreCase("Youre an idiot") ||)
{
     //code goes here
}
  

Кстати, я пытаюсь создать программу, похожую на Siri, которая будет реагировать на то, что вы вводите, если вам интересно, почему в тексте написано «Ты идиот».

Комментарии:

1. Просто замените его регулярным выражением, прежде чем делать сравнение

Ответ №1:

вы можете удалить все отсутствующие алфавитные и цифровые символы

       mirioutput = mirioutput.replaceAll("[^A-Za-Z9-0]","");
  

Ответ №2:

Вам нужно посмотреть на функции сканера delimeter и findInLine.