1

所以我试图分割一个字符串

String[] tokens = coded_string.split("\\)|\\(|\\,|\\s+");

所以如果编码字符串是students = load(classlist.csv) 所有标记都很好

token[0] = "students"
token[1] = "="
token[2] = "load"
token[3] = "classlist.csv"

但是当students = load ( classlist.csv )括号之间的字符串空格我得到空标记时,为什么会这样,我该如何解决?

token[0] = "students"
token[1] = "="
token[2] = "load"
token[3] = ""
4

2 回答 2

3

因为您连续有两个分隔符,一个空格后跟一个开放的括号,所以它将它们之间的“无”作为空字符串返回一个匹配项。您可以使用字符类而不是交替来匹配整个潜在分隔符块。您还没有说明您的实际要求,因此很难知道这是否对所有输入都严格正确。

String[] tokens = coded_string.split("[)(,\\s]+");
于 2012-10-23T01:47:55.850 回答
0

coded_string.split("(\\)|\\(|\\s+)+")会正常工作

于 2012-10-23T01:50:59.150 回答