c# - 通过c#读取特定字符串后的行

标签 c# string

如何读取特定字符串后的行并在到达特定字符串时结束读取

这是我的文本文件

bla bla bla
bla bla bla 
bla bla vasdasdasd
<rs:data>
please read me se
please read me gr
please read me ew
please read me se
please read me cg
</rs:data>
saddsagkobn
bla bla bla

如果我使用这段代码

string[] lines = System.IO.File.ReadAllLines(@"C:\temp\mytext.txt");

它会读取所有的行

如何读取 <rs:data> 之间的行和 </rs:data> ???

最佳答案

您可以使用 LINQ:

var result = lines.SkipWhile(x => x != "<rs:data>")  // skips everything before 
                  .Skip(1)                           // and <rs:data> itself
                  .TakeWhile(x => x != "</rs:data>") // and take up to </rs:data>
                  .ToList();                         // as List<string>

关于c# - 通过c#读取特定字符串后的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21808470/

相关文章:

javascript - 将 ViewBag 设置为数据属性时出现语法错误

php - 使用正则表达式删除字符串末尾除指定标签之外的所有标签

Python:查找句子的所有字谜

c++ - 将字符串转换为 const *json 后,在传递 json 对象时,显示失败 : (IsObject()), 如何解决?

c# - 时间戳的正则表达式模式

c# - System.Data.SQLite 锁/共享冲突

c# - 将登录页面设置为asp.net mvc 5中的默认页面

c# - 更新条目时出错 - 字符串或二进制数据将被截断

string - 如何在Powershell中替换字符串?

java - 从 List<Integer> 中检索所有值对