我想知道Java中是否有任何方法可以通过空格标记字符串,但是如果撇号之间有一些单词,请将其视为“一个单词”......
例如,如果我有:
这是“伟大”的一天
字符串标记器应该有:
"This"
"is a great"
"day"
谢谢!
我想知道Java中是否有任何方法可以通过空格标记字符串,但是如果撇号之间有一些单词,请将其视为“一个单词”......
例如,如果我有:
这是“伟大”的一天
字符串标记器应该有:
"This"
"is a great"
"day"
谢谢!
使用String.split()
和一个正则表达式,而不是一个StringTokenizer
,怎么样:
String input = "this \"is a great\" day";
for (String word: input.split("(?<=\").+(?=\")|\\b\\w+\\b"))
{
System.out.println("["+word+"]");
}
输出:
[this]
[is a great]
[day]
从您的示例中,我假设您的意思是双引号(“)而不是撇号(')。
注意:我最初发布了一些更简单的东西,它适用于您的示例,但不适用于以下输入:
" yes this \"is a great\" day all right"