我的文本文件如下所示
things
stuff
more stuff
//xxxxxxxxxxx
these
are the lines
I want to read
into a string
//yyyyyyyyyy
如何阅读“// xxxxxxxxxxx”和“// yyyyyyyyyy”之间的界限 变成一个字符串?另外,我不知道它在哪个行号;它将从一个文件更改为文件,以及这两个分隔符之间有多少行。
我已经弄清楚如何读取整个文件,或者如何读取某些行,但不知道如何捕获像这样的块。如果可以避免,我不想先将整个文件读成字符串。 我只想将2个标记之间的行读入字符串。
答案 0 :(得分:2)
您是否尝试过以下操作:
使用String s = StringReader.ReadLine()
读取每一行。
如果s不等于开始读取块令牌(“// xxxxxxxxxxx”),则忽略它。
否则,启动while循环,并继续读取每一行,直到看到一行等于您的结束读取块令牌(“// yyyyyyyyyy”),并将您读取的每一行保存到StringBuilder或只是一个字符串。
以下是代码:
string start_token = "//xxxxxxxxxxx";
string end_token = "//yyyyyyyyyy";
String line;
String text = [your text here];
StringReader reader = new StringReader(text);
while (!(line = reader.ReadLine()).Equals(start_token))
{
//ignore
}
String result = "";
while (!(line = reader.ReadLine()).Equals(end_token))
{
result += line;
}
Console.WriteLine(result);