【发布时间】:2014-04-05 20:08:45
【问题描述】:
所以我有以下字符串:
deptid = 33 AND location = 'NewYork'
基本上我正在尝试将其解析为令牌。我一直在使用 Split.string 并按空格分隔,这适用于我需要的所有内容,但是在某些情况下字符串可能是:
deptid = 33 AND location = '纽约'
我需要保持引号之间的所有内容。有没有一种方法可以使用 String.split 来拆分它,它会按空格拆分所有内容,除非遇到引号它会给我引号之间所有内容的标记?
编辑: 很抱歉没有早点澄清!但我想要那句话中的每一件事。我想要 deptid,=,33,AND,位置,=,纽约。 AND 语句不会一直存在。可能只是
location = '纽约'
【问题讨论】:
-
拆分样本后会得到什么?
-
我正在尝试将其存储到 String[] 令牌中。所以我希望tokens[0] 是33,tokens[1] 是“纽约”。我一直按空格分隔,所以结果是 tokens[0] = 33 tokens[1] = New tokens[2] = York,这不是我想要的
-
那么,您是否尝试收集
=之后的单词,除非该单词被引用然后引号需要被删除? -
我真的很抱歉我没有说清楚我想要什么(解决我的问题)。我实际上想要那个句子的每个单词,但如果它周围有引号,我想要整个单词。所以在示例中我想要 deptid, =, 33, AND, location, =, New York