【发布时间】:2013-09-15 22:28:40
【问题描述】:
我正在尝试根据一组分隔符拆分字符串。
我的分隔符是:,"():;.!? 单个空格或多个空格。
这是我目前使用的代码,
String[] arrayOfWords= inputString.split("[\\s{2,}\\,\"\\(\\)\\:\\;\\.\\!\\?-]+");
这在大多数情况下都可以正常工作,但是当第一个单词被引号包围时我遇到了问题。例如
String inputString = "\"Word\" some more text.";
给我这个输出
arrayOfWords[0] = ""
arrayOfWords[0] = "Word"
arrayOfWords[1] = "some"
arrayOfWords[2] = "more"
arrayOfWords[3] = "text"
我希望输出给我一个数组
arrayOfWords[0] = "Word"
arrayOfWords[1] = "some"
arrayOfWords[2] = "more"
arrayOfWords[3] = "text"
这段代码在句子中间使用引号时工作正常,我不确定它在开头有什么问题。
编辑:我刚刚意识到,当任何分隔符用作字符串的第一个字符时,我也遇到了同样的问题
【问题讨论】:
-
为什么不直接删除上一步中的所有引号?
标签: java regex split string-split