繁体   English   中英

java字符串在除撇号之外的所有非字母数字上拆分

[英]java string split on all non-alphanumeric except apostrophes

所以我想在任何非字母数字字符上拆分 java 中的字符串。

目前我一直在这样做

words= Str.split("\\W+");

但是我想在那里保留撇号(“'”)。 是否有任何正则表达式可以保留撇号但踢掉其余的垃圾? 谢谢。

words = Str.split("[^\\w']+");

只需将其添加到字符类即可。 \\W等效于[^\\w] ,然后您可以将'添加到其中。

但是请注意, \\w实际上也包含下划线。 如果你也想用下划线分割,你应该使用[^a-zA-Z0-9']代替。

对于基本英文字符,请使用

words = Str.split("[^a-zA-Z0-9']+");

如果要包含带有特殊字符(例如fiance )的英语单词或使用非英语字符的语言,请使用

words = Str.split("[^\\p{L}0-9']+");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM