我正在使用此方法拆分一些文本:

String[] parts = sentence.split("[,\\s\\-:\\?\\!\\«\\»\\'\\´\\`\\\"\\.\\\\\\/]");


这将根据指定的符号分割文本。符号之一是“-”,因为我的文字有这样奇怪的内容:“ --------------单词--- words2 --words3--words4”。这将满足我的需求,因为它不会像这样分割(以防我不加“-”):“ --- words3 --- words4(如果我不加“-”将被视为单词)。

但是有一件棘手的事情。我想允许这样的单词:“ aaa-bbb”,此模式对此进行了验证:

Pattern pattern = Pattern.compile("(?<![A-Za-z-])[A-Za-z]+-[A-Za-z]+(?![A-Za-z-])");


允许:aaa-bb,aaa-bbbbbbb
不允许:aaa--bb,aa--bbb-cc

所以我的问题是,是否可以使用上面的拆分方法来拆分我的文本,但是还要考虑此模式是单词分隔符(对于像aaa-bbb这样的单词)?

预先感谢,
理查德

最佳答案

从我的收集中,您是以下的人:

String[] parts = sentence.split(/[\-]{2,}/);

07-25 23:23
查看更多