如何使用Java在文本文件中的两个单词之间提取内容?

时间:2015-06-05 08:22:47

标签: java r

我有一个文本文件,我想使用Java提取这两个单词之间的内容。

我是Java的新手,任何人都可以帮助我吗?

这是用R语言提取单词之间的内容方法&成分。

   sub("."*Directions*(.*?)* Photograph.*,\\1",x)

其中x是文字内容。 任何人都可以告诉我Java中的相应代码。

由于

3 个答案:

答案 0 :(得分:3)

使用Java Pattern类:

String x = new String("string that contains Directions and Photograph. ");
Pattern pattern = Pattern.compile("Directions(.*?) Photograph");
Matcher matcher = pattern.matcher(x); 
while (matcher.find()) {
System.out.println(matcher.group(1));
}

直播DEMO

答案 1 :(得分:1)

如果你被允许使用apache-commons;这可以优雅地完成:

String[] results =  StringUtils.substringsBetween(str,"Directions","Photograph");

str是有问题的字符串。 您需要的依赖是commons-lang-XXX.jar

答案 2 :(得分:0)

最简单的方法是:

    String originalString = "bla, bla, bla, Directions bla ... bla ... bla.... Ingredients ....";
    String result = originalString.substring(originalString.indexOf("Directions")+"Directions".length(), originalString.indexOf("Ingredients"));
    System.out.println(result);