java - 使用正则表达式分隔句子

标签 java regex

我想使用特定单词作为分隔符来分割句子

Lun. 08:00 - 12:15 13:15 - 16:15 Mar. 08:00 - 12:15 13:15 - 16:15 Mer. 08:00 - 12:15 13:15 - 16:15 Jeu. 08:00 - 12:15 13:15 - 16:15 Ven. 08:00 - 12:15 13:15 - 16:15 ";

因此我想要一个这样的列表:

Lun. 08:00 - 12:15 13:15 - 16:15 
Mar. 08:00 - 12:15 13:15 - 16:15 
Mer. 08:00 - 12:15 13:15 - 16:15 
Jeu. 08:00 - 12:15 13:15 - 16:15 
Ven. 08:00 - 12:15 13:15 - 16:15

我从下面的正则表达式开始:

final Pattern pattern = Pattern.compile("((Lun|Mar|Mer|Jeu|Ven|Sam). [0-9 \\-:]*)");
final Matcher matcher = pattern.matcher(horaires);
while (matcher.find())
{   
    myListe.add(matcher.group())
}

但它给了我这样的结果:

 matcher.group(1) = Lun. 08:00 - 12:15 13:15 - 16:15 matcher.group(2) = Lun. 08:00 - 12:15 13:15 - 16:15 

你们中的任何人都可以帮我找到正确的正则表达式吗?

最佳答案

尝试将您所拥有的更改为:

        String string = "Lun. 08:00 - 12:15 13:15 - 16:15 Mar. 08:00 - 12:15 13:15 - 16:15 Mer. 08:00 - 12:15 13:15 - 16:15 Jeu. 08:00 - 12:15 13:15 - 16:15 Ven. 08:00 - 12:15 13:15 - 16:15 ";
        final Pattern pattern = Pattern.compile("((Lun|Mar|Mer|Jeu|Ven|Sam)\\. [0-9 \\-:]*)");
        final Matcher matcher = pattern.matcher(string);
        List<String> list = new ArrayList<String>();
        while (matcher.find())
        {   
            list.add(matcher.group(1));
        }

        for(String str : list)
        {
            System.out.println(str);
        }

产量:

Lun. 08:00 - 12:15 13:15 - 16:15
Mar. 08:00 - 12:15 13:15 - 16:15
Mer. 08:00 - 12:15 13:15 - 16:15
Jeu. 08:00 - 12:15 13:15 - 16:15
Ven. 08:00 - 12:15 13:15 - 16:15

编辑:看来我无法复制您的代码不起作用的情况(我已经成功做到了一次,但似乎无法再做一次......)。你的代码在我的机器上运行,上面的代码也是如此。

您可以尝试我建议的替代方法,这样答案就不会被删除,至少现在不会。

关于java - 使用正则表达式分隔句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15429185/

相关文章:

java - 正则表达式的烦恼

JavaScript 正则表达式匹配平衡结构而不关心不平衡结构

java - 在字符串中查找电子邮件

java从像素矩阵创建BMP图像并反转

java - 学习 Java 中的数据处理程序?

java - Logback 永远挂起

java - 为什么使用 split (".") 返回一个空数组?

java - 使用类路径在 java 中加载 CSV

java - ImageJ .JAR 文件中的 NeuronJ 插件无法在 MAC OSX10.10.4 上打开

c++ - 比较 list<string> 和 vector<string> 中的字符串元素