Java String.split:使用\\ W作为非单词分隔符时遇到问题

时间:2015-03-02 03:51:30

标签: java regex string

遵循提供的建议here 我尝试使用\\ W作为java的string.split函数中非单词字符的分隔符。

String str = "id-INT, name-STRING,";

这看起来像一个非常简单的字符串。我想从这个字符串中提取单词。我得到的数组的长度是5,而它应该是4.在INT之后的位置有一个空字符串。我不明白为什么那里的空间不被视为非单词

1 个答案:

答案 0 :(得分:6)

,和空格被视为单独的实体,请尝试使用\\W+

    String str = "id-INT, name-STRING,";
    String[] parts = str.split("\\W+");
    System.out.println(parts.length);
    System.out.println(Arrays.toString(parts));

哪个输出

4
[id, INT, name, STRING]