根据这里提供的建议, 我尝试使用\\ W作为java的string.split函数中非单词字符的分隔符.
String str = "id-INT, name-STRING,";
Run Code Online (Sandbox Code Playgroud)
这看起来像一个非常简单的字符串.我想从这个字符串中提取单词.我得到的数组的长度是5,而它应该是4.在INT之后的位置有一个空字符串.我不明白为什么那里的空间不被视为非单词
该,和空间都被看作是独立的实体,请尝试使用\\W+替代
String str = "id-INT, name-STRING,";
String[] parts = str.split("\\W+");
System.out.println(parts.length);
System.out.println(Arrays.toString(parts));
Run Code Online (Sandbox Code Playgroud)
哪个输出
4
[id, INT, name, STRING]
Run Code Online (Sandbox Code Playgroud)