Java:使用具有多个分隔符的分割函数

时间:2017-04-06 06:14:23

标签: java regex split

我想基于两个分隔符拆分字符串。

  1. 第一个分隔符是a,space" "和
  2. 第二个是"。"
  3. 但是,不应该以句号结尾的最后一句话 分裂。
  4. 对于给定的字符串:

    Undersay    v.  To say by way of derogation or contradiction.
    

    我想要以下输出

    Undersay
    
    v.
    
    To say by way of derogation or contradiction.
    

1 个答案:

答案 0 :(得分:0)

你可以试试这个正则表达式:

 (?=.*\.(?=.*\.))|(?<=\.)(?=.*\.)

或者作为java字符串:

" (?=.*\\.(?=.*\\.))|(?<=\\.)(?=.*\\.)"

Regex Demo

示例Java代码:

final String regex1 = " (?=.*\\.(?=.*\\.))|(?<=\\.)(?=.*\\.)"
final String string = "Undersay v.To say by way of derogation or contradiction.";

String[] result=string.split(regex1);

for(String s:result) {
    System.out.println(s);
}

将输出:

  

Undersay

     

     

以克减或矛盾的方式说。