我可以使用 string.split("\\W+")
来包含仅包含字符的字词。
然而:
我不希望将 “重复使用” 等字词细分为 “re” < / strong>&amp;的 “使用” 即可。
还有像 “偏离” 这样的多个连字符。
我想将 “和 - 哦” 分解为 “和” &amp;的 “OH”
我怎么可能实现这个目标?
答案 0 :(得分:2)
试试这个正则表达式:
string.split("[^\\w\\-]+|--+")
答案 1 :(得分:1)
您可以先将连续连字符替换为特殊字符,然后再进行简单的正则表达式分割。
请参阅以下代码。
public class Test {
public static void main(String args[]){
String str = "This is^^some@@words-apple-banana--orange";
str = str.replaceAll("[-]{2,}", "@");
System.out.println(str);
String regex = "[^\\w-]+";
String arr[] = str.split(regex);
for(String item:arr){
System.out.println(item);
}
}
}
结果是:
This are^^some@@words-apple-banana@orange
This
are
some
words-apple-banana
orange