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