2016-02-09 2 views
0

Хорошо, я кодирую эту программу, которая отбрасывает любые символы, которые не являются буквами. И прямо сейчас у меня возникают проблемы с попыткой определить программу, которая есть. Вот некоторые из кода, который я сделал.Проверка свойств символов в Java

System.out.println("Press enter every time, you type a new word, and press the period button to end it."); 
Scanner question = new Scanner(System.in); 
System.out.println("Press enter to continue, or tupe something random in"); 
String userInput = question.next(); 
while(!userInput.equals(".")){ 
    String userInput2 = question.next(); 
    System.out.println(userInput2); 

    if(userInput2.equals("Stop")){ 
     break; 
    } 
} 

ответ

1

Вы можете использовать регулярное выражение, чтобы удалить все символы, которые не являются или строчными или прописными буквами:

String userInput2 = question.next(); 
userInput2 = userInput2.replaceAll("[^a-zA-Z]", ""); 
System.out.println(userInput2); 
+1

Класс юникода '\ p {IsAlphabetic}' может быть лучшим выбором для согласования регулярных выражений, если вход может содержать значения за пределами US-ASCII. См. [Java.util.regex.Pattern] (https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html). –

+0

Эта возможность не пришла ко мне, поскольку я предполагал, что это программа на английском языке. Спасибо за комментарий, и я только что узнал что-то новое на SO. –

1

Переход через строку и вызовите Character.isLetter(char) для каждого использовал строки, чтобы проверить, если это письмо персонаж.

Смежные вопросы