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

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

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

这是R语言中提取单词方向和成分之间的内容的方法。

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

其中x是文本内容。 谁能告诉我Java的相应代码。

谢谢

使用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)); } 

现场演示

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

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

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

最简单的方法是:

  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);