Удалить пробелы из строк при разделении на "," - PullRequest
1 голос
/ 31 марта 2019

Мне нужно определить слова после некоторого ключевого слова и перед символами "=" ИЛИ ";"

Я использую следующий подход, разделив

    String res = "private String   name1, name2,  name3; ";
    Matcher matcherWithCommar = Pattern
            .compile("(?<=^private)\\W+(String|float|long|short|double|byte|boolean|int|char)\\W+(.+?)(;|=)",
                    Pattern.CASE_INSENSITIVE)
            .matcher(res);

    if (matcherWithCommar.find()) {
        System.out.println("Varibels : " + matcherWithCommar.group(2).trim());
        String[] parameters = matcherWithCommar.group(2).trim().split(Pattern.quote(","));
        for (int r = 0; r < parameters.length; r++) {
            System.out.println("names: " + parameters[r]);

        }
    }

это решение приносит вывод с пробелами

и мой вывод был как

Varibels : name1, name2,  name3
names: name1
names:  name2
names:   name3

но мне нужно вот так

Varibels : name1, name2,  name3
names: name1
names: name2
names: name3

без пробелов

1 Ответ

3 голосов
/ 31 марта 2019

Измените .split(Pattern.quote(",")); на шаблон регулярного выражения, соответствующий пробелу до и после запятой (которую не нужно заключать в кавычки). Как,

.split("\\s*,\\s*");

только с этим изменением я получаю

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