Как установить разделители Java с помощью ", / *, \ * - PullRequest
0 голосов
/ 06 января 2019

Я пишу код, который будет читать строку и должен знать, состоит ли она из букв или является пунктуацией или нет. для eq: (строка относится к (и строка как 2 различных объекта.

Я уже установил разделитель с помощью

String DELIM = "[\\s\\-\\.\\'\\,\\?\\,\\_\\@\\#\\(\\)\\;]+";

, но код все еще обрабатывает , *, / как строку, состоящую из букв, а не знаков пунктуации.

Как я могу отредактировать свой Delim, чтобы иметь возможность изменить это?

1 Ответ

0 голосов
/ 06 января 2019

Блок квадратных скобок [here] вам не нужно слишком много убегать.
Regex [\\s-.'?,_@#();*\\/]+ отлично ловит любой разделитель в строке
aa bb-cc.dd'ee?ff,gg_hh@ii#jj(kk)ll;mm*nn/oo.

Вот фрагмент кода Java:

String regex = "[\\s-.'?,_@#();*\\/]+";
String text = "aa bb-cc.dd'ee?ff,gg_hh@ii#jj(kk)ll;mm*nn/oo";
String[] split = text.split(regex);
for (String s : split) {
    System.out.println(s);
}

Выход:
аа
бб
куб.см
...

Вы также можете пойти другим путем и поймать все, что НЕ является последним или цифрой, с помощью регулярного выражения:
[^a-zA-Z0-9]+.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...