如何将文本文件(或 XML 文件)表示为整个字符串,并在其中搜索(或匹配)特定字符串?
我创建了一个 BufferedReader 对象:
BufferedReader input = new BufferedReader(new FileReader(aFile));
然后我尝试使用 Scanner 类及其选项来指定不同的分隔符,如下所示:
//Scanner scantext = new Scanner(input);
//Scanner scantext = new Scanner(input).useDelimiter("");
Scanner scantext = new Scanner(input).useDelimiter("\n");
while (scantext.hasNext()) { ... }
使用这样的 Scanner 类,我可以逐行或逐字阅读文本,但这对我没有帮助,因为有时在我想要处理的文本中,我有
</review><review>
我想说:如果您<review>
在文本中的任何地方找到“”,请对以下下一行(或一段文本)执行某些操作,直到找到“ </review>
”。问题是<review>
和</review>
位于文本中的不同位置,有时会粘在其他文本上(因此作为分隔符的空白对我没有帮助)。
我曾想过我可能会在 Java 中使用正则表达式 API(Pattern 和 Matcher 类),但它们似乎匹配特定的字符串或行,并且我希望将文本作为一个连续的字符串(至少这是我的印象从我所读到的关于它们的信息中)。你能告诉我在这种情况下我应该使用什么结构/方法/类吗?谢谢你。