除撇号外的所有非字母数字的 java 字符串拆分
所以我想在任何非字母数字字符上拆分java中的字符串。
目前我一直在这样做
words= Str.split("\\W+");
但是我想在那里保留撇号(“'”)。是否有任何正则表达式可以保留撇号,但踢其余的垃圾?谢谢。
所以我想在任何非字母数字字符上拆分java中的字符串。
目前我一直在这样做
words= Str.split("\\W+");
但是我想在那里保留撇号(“'”)。是否有任何正则表达式可以保留撇号,但踢其余的垃圾?谢谢。
words = Str.split("[^\\w']+");
只需将其添加到字符类中即可。 等效于 ,然后可以将其添加到 。\W
[^\w]
'
但是,请注意,这实际上还包括下划线。如果您还想在下划线上拆分,则应改用。\w
[^a-zA-Z0-9']
对于基本英语字符,请使用
words = Str.split("[^a-zA-Z0-9']+");
如果要包含带有特殊字符(如未婚夫)的英语单词或使用非英语字符的语言,请使用
words = Str.split("[^\\p{L}0-9']+");