用“,”分割时从字符串中删除空格

时间:2019-03-30 22:49:51

标签: java regex

我需要在某些关键字之后和符号"="";"之前识别单词

我通过分割

使用以下方法
    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 个答案:

答案 0 :(得分:3)

.split(Pattern.quote(","));更改为与逗号前后的空白匹配的正则表达式模式(无需引用)。喜欢,

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

有了我的改变

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