例如我有
...
段落
段落
段落
...
更多段落
如何将两个“..”之间的这3个句子提取成字符串? 数据来自文件。
好吧,我试图搜索“..”,然后在两者之间提取字符串。但它失败了,所以我没有发布我的任何代码......
答案 0 :(得分:1)
如果您确定文本中不再出现..
,并且您的文字为String
,那么这可能是最简单的解决方案:
String result = text.substring(text.indexOf("..") + 2, text.lastIndexOf("..") - 2);
如果..
出现更多,您可以使用正则表达式或Scanner。这是使用正则表达式的解决方案。
Pattern pattern = Pattern.compile(".*?\\.\\.(.*?)\\.\\.", Pattern.DOTALL);
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
String result = matcher.group(1);
// ...
}
此代码假定第一个..
开始一个段落,第二个..
结束段落。在下一次出现..
之前,将忽略以下字符。
答案 1 :(得分:0)
让程序搜索第一个“..”,同时循环它,保存所有内容,直到它到达第二个“..”。
答案 2 :(得分:0)
您是否可以尝试使分隔符对文本具有独特之处?如果您的文本中出现多次“..”,您打算如何指定要抓取哪个“..”?
如果你使它成为文本的独特之处,你可以使用String.split()方法,该方法将获取令牌并根据它分割字符串,从而可以轻松地在您指定的标记之间获取文本。