【问题标题】:How to Tokenize A String With Quotes? In Java [duplicate]如何用引号标记字符串?在Java中[重复]
【发布时间】:2014-05-16 23:44:14
【问题描述】:

我正在尝试标记包含引号的字符串。我搜索并找到了 StringTokenizer 类。但这对我没有用。这是我希望用户输入的字符串示例:

dgdfgg ddfgdf 4  12 assdsd “michael smith” “michael Westley” “Michael Fotky”

问题是分词器对单词进行分词。但是正如你所看到的,我希望它们保持在一起。就像 “michael Westley” 应该保持在一起作为一种象征。不像 “michaelWestley”。我可以使用str.nextToken()+str.nextToken() 但我不知道引号内的字符串是一个词还是两个词。如果是一个词,那可能是个问题。这是我想要的一个例子:

dgdfgg 
ddfgdf 
4
12 
assdsd 
“michael smith”
“michael Westley”
“Michael Fotky”

提前致谢。

【问题讨论】:

标签: java quotes tokenize


【解决方案1】:

如果你想要一些优雅的东西,你应该看看正则表达式的可能性。 但要快速做到这一点,您只需检查您的输出并连接包含在 '"' 之间的字符串。 例如:

String token = str.nextToken();
if(token.charAt(0) == '"' && token.charAt(token.length()-1) != '"') {
 String tmp = str.nexToken();
 while(tmp.charAt(tmp.length()-1) != '"') {
  token += tmp;
  tmp = str.nextToken();
 }
}
// do something with token
...

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-09
    • 2014-05-12
    • 2016-08-26
    • 2014-05-03
    • 2015-11-29
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多