我想将字符串拆分为非字母字符的字符串数组。例如:Java字符串拆分非字母字符
"Here is an [email protected]" => "Here", "is", "an" "ex", "mple"
我尝试使用String.split(String regex)方法与常规表达式"(?![\\p{Alpha}])"
。然而,这将字符串拆分为
"Here", "_is", "_an", "_ex", "@ample"
(这些下划线强调是有空间的)。我想这是因为?!
正则表达式运算符是“零宽度”,实际上是在输入字符串中的非字母字符之前分割并移除零宽度字符。
如何在拆分字符串的同时完成删除实际的非字母字符?是否有一个非零宽度否定运算符?
\ W +是否工作? – Thilo
http://stackoverflow.com/questions/11332772/java-string-split-on-all-non-alphanumeric-except-apostrophes –
@Thilo这将无法与下划线 – arshajii