2015-04-04 3 views
1

Я искал всюду на Google и этом веб-сайте для шаблона разделителя, который игнорирует пунктуации (,. /?> <;: '"[{]} -_ = +() * ! & ^% $ # @) и принимает только цифры и словаРазделитель, который игнорирует все, кроме букв и цифр

Я попытался с помощью:.

Scanner fileScanner = new Scanner(new File("File.txt")).useDelimiter("[.,:;()?!\" \t]+~\\s"); 

и

 Scanner fileScanner = new Scanner(new File("File.txt")).useDelimiter("[ ,!?.]+"); 

, но первый из них дает мне NoSuchEleme ntException, а второй не дает мне результата, который мне нужен. Что я должен использовать?

ответ

2

Вы можете использовать негативный класс регулярных выражений, как:

[^A-Za-z0-9] 

Btw, вы должны бежать \ в ява строк. Для вашего разделителем:

"[.,:;()?!\" \t]+~\\s" change it to: 
"[.,:;()?!\" \\t]+~\\s" 
+0

Название: "и цифры" –

+0

@ AndyTurner oops, thanks! Исправлено: –

+0

Удивительный! Это сработало! Очень ценю это – juliodesa

0

Если мы хотим, чтобы регулярное выражение для работы с другими, чем ASCII символов, мы должны использовать классы символов Java, как этот

[^\\p{javaDigit}\\p{javaLetter}] 

или Unicode символы классов см шаблон API

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