我需要将一个 java 字符串拆分为一个单词数组。假设字符串是:
"Hi!! I need to split this string, into a serie's of words?!"
目前我正在尝试使用它String[] strs = str.split("(?!\\w)")
,但是它保留了诸如!在数组中,它还保留诸如“Hi!”之类的字符串。在数组中也是如此。我要拆分的字符串总是小写的。我想要的是生成一个如下所示的数组:
{"hi", "i", "need", "to", "split", "this", "string", "into", "a", "serie's", "of", "words"}
- 请注意保留撇号。
如何更改我的正则表达式以不包含数组中的符号?
抱歉,我会将一个单词定义为仅由字母数字字符组成的序列,但如果它在上述上下文中,例如“it's”,则包含 ' 字符,而不是用于引用诸如“'its'”之类的单词. 此外,在这种情况下,“hi”或“hi-person”不是单词,但“hi”和“person”是。我希望能澄清这个问题。