所以我正在尝试拆分字符串
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] = ""
答案 0 :(得分:3)
因为你有一个连续的两个分隔符,一个空格后跟一个打开的paren,它会在它们之间的'nothing'上返回一个匹配的空字符串。您可以使用字符类而不是替换来匹配整个潜在分隔符字符块。您尚未说明您的实际要求,因此很难知道这对所有输入是否严格正确。
String[] tokens = coded_string.split("[)(,\\s]+");
答案 1 :(得分:0)
coded_string.split("(\\)|\\(|\\s+)+")
可以正常使用