我正在使用此方法来分割一些文本:
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-bbbbbbbb 不允许:aaa--bb、aa--bbb-cc
所以我的问题是,是否可以应用上面的分割来分割我的文本,但也要考虑到此模式是单词分隔符(对于像 aaa-bbb 这样的单词)?
提前致谢, 理查德
最佳答案
据我所知,您正在追求以下内容:
String[] parts = sentence.split(/[\-]{2,}/);
关于java 字符串分割+模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7622250/