Java:使用带有多个分隔符的 split 函数

标签 java regex split

我想根据两个分隔符分割字符串。

  1. 第一个分隔符是空格“”和
  2. 第二个是“.”
  3. 但是,最后一句以句号结尾的句子不应该是 split 了。

对于给定的字符串:

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

我想要以下输出

Undersay

v.

To say by way of derogation or contradiction.

最佳答案

您可以尝试使用此正则表达式:

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

或者作为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

v.

To say by way of derogation or contradiction.

关于Java:使用带有多个分隔符的 split 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43247109/

相关文章:

google-sheets - 过滤您的计算选项产生利润结果的产品

python - 使用 python 正则表达式避免引号内的模式

Python 拆分除单词之间和逗号后的空格

java - 如果连接被数据库关闭,我是否需要手动关闭它?

java - Java中是否有可以容纳4个或更多值的数据结构

javascript - 正则表达式 - 获取特定字符 (#) 之后的所有字符

python -regex匹配单词列表

.net - 如何在 VB.Net 中拆分复杂的字符串

java - Tomcat 6.0.x 配置HTTP

java - 是否存在适用于 Android 的轻量级标记语言库?