寻找一些正则表达式帮助。我正在寻找一种 Java 中的方法来按单词拆分一些输入文本,但还要保留分隔符(空格、标点符号)。另一种说法是将单词拆分为它们自己的索引,而其他非单词字符可能位于数组的其他索引中。
此输入文本:
"Hello, this isn't working!"
应该像这样放入一个数组中:
{"Hello", ",", "this", "isn't", "working", "!"}
或者
{"Hello", ", ", "this", " ", "isn't", " ", "working", "!"}
我在 Python 中使用它完成了基本相同的事情:
def split_input(string):
return re.findall(r"[\w']+|[\s.,!?;:-]", string)
但我还没有找到一种方法在 Java 中完成同样的事情。我尝试String.split()
过前瞻/后视,也尝试过模式匹配器,但运气不佳。
任何帮助将非常感激!