C# 在txt文件中搜索字符串

2024-03-23

我想在 txt 文件中找到一个字符串,如果字符串比较,它应该继续读取行,直到我用作参数的另一个字符串。

Example:

CustomerEN //search for this string
...
some text which has details about the customer
id "123456"
username "rootuser"
...
CustomerCh //get text till this string

否则我需要详细信息才能与他们合作。

我正在使用 linq 搜索“CustomerEN”,如下所示:

File.ReadLines(pathToTextFile).Any(line => line.Contains("CustomerEN"))

但现在我不得不阅读行(数据)直到“CustomerCh”来提取详细信息。


如果您的两行仅在文件中出现一次,您可以使用

File.ReadLines(pathToTextFile)
    .SkipWhile(line => !line.Contains("CustomerEN"))
    .Skip(1) // optional
    .TakeWhile(line => !line.Contains("CustomerCh"));

如果一个文件中可能出现多次,那么最好使用常规的foreach循环 - 读取行,跟踪您当前是在客户内部还是外部等:

List<List<string>> groups = new List<List<string>>();
List<string> current = null;
foreach (var line in File.ReadAllLines(pathToFile))
{
    if (line.Contains("CustomerEN") && current == null)
        current = new List<string>();
    else if (line.Contains("CustomerCh") && current != null)
    {
        groups.Add(current);
        current = null;
    }
    if (current != null)
        current.Add(line);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 在txt文件中搜索字符串 的相关文章

  • 我想优化这个短循环

    我想优化这个简单的循环 unsigned int i while j 0 j is an unsigned int with a start value of about N 36 000 000 float sub 0 i 1 unsig
  • 如何通过MFC将应用程序设置保存到注册表中?

    我有一个由 MFC 项目向导创建的 MFC 应用程序 我想在注册表中保存 读取应用程序设置 所以问了这个question https stackoverflow com questions 1880275 good c registry w
  • 使用 string.whitespace 删除 Python 中的空格

    Python 的 string whitespace 很棒 gt gt gt string whitespace t n x0b x0c r 如何在不手动输入 t n 等正则表达式的情况下将其与字符串一起使用 例如 它应该能够转动 请不要伤
  • 改变 RGB 颜色的色调

    我正在尝试编写一个函数来改变 RGB 颜色的色调 具体来说 我在 iOS 应用程序中使用它 但数学是通用的 下图显示了 R G 和 B 值如何随色调变化 看起来 编写一个函数来改变色调似乎应该是一个相对简单的事情 而不需要对不同的颜色格式进
  • 如何在 ASP.NET 5/vNext/Core 中使用 Elmah?

    我对如何在 ASP NET 5 MVC 6 项目中使用 Elmah 有点困惑 我从 nuget 得到了包 它添加了 Elmah Mvc 2 1 2 到project json 中的依赖项 我不知道从这里到哪里去 以前 nuget 会向 we
  • 如何将整个流读入 std::string ?

    我正在尝试将整个流 多行 读入字符串中 我正在使用这段代码 它有效 但它冒犯了我的风格感 当然有更简单的方法吗 也许使用字符串流 void Obj loadFromStream std istream stream std string s
  • 慢速 WPF 文本框

    我正在开发一个简单的串行数据查看器 它将用于观察传输到计算机串行端口之一的数据 我使用 C 和 WPF 编写了一个测试应用程序 它只是将最近读取的行放入文本块中 但是 它会跳过所有其他行 我的理论是 在 WPF 渲染窗口之前 新数据会被放入
  • 在大型数据绑定 ObservableCollection 中添加/删除许多项目,而无需冻结 GUI

    我和我的团队正在开发一个 WPF 应用程序 该应用程序显示多个并发 XamDataChart 控件 由 Infragistics 提供 每个图表都绑定到不同的 ObservableCollection 最多可包含 200 万个点 对于每个图
  • 如何从子窗口中加载的用户控件按钮关闭子窗口?

    这是我的 ChildWindow xaml 代码 1
  • 是否可以在三元表达式上只放置一个选项?

    我只是好奇这是否可能 或者是否有办法使它成为 C 的有效语法 expression value do nothing here or put some empty block like SomeClass SomeMethod Edit 为
  • 如何检测机器是否加入域?

    如何检测计算机是否已加入 Active Directory 域 相对于工作组模式 如果没有必要的话 不要用 pinvoke 来愚弄 参考System DirectoryServices 然后调用 System DirectoryServic
  • 如何在 MSBuild NuGet 包生成的 .nuspec 中注入自定义依赖项

    我正在尝试迁移到使用 MSBuildPack支持使用 csproj 生成项目 NuGet 包 其中在开发过程中使用本地 dll 来构建项目 但在使用 MSBuild 打包 项目时需要替换 交换它们以引用生成的 nuspec 中的外部 NuG
  • 最好的 C++ 编译器是哪个? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用来自不同线程的实时数据更新 QTableView 的最佳策略

    我的应用程序现在启动几个线程 如 5 10 个 来从不同源收集数据 它们与主 GUI 线程分离 因此我在 GUI 中感觉不到任何缓慢 并且我可以在后台线程工作时继续工作 一切都很棒 但现在我希望能够在我的主 GUI 中的 QTableVie
  • STL(标准模板库)中使用的设计模式

    我正在学习STL和设计模式 我想知道是否有任何文档或链接可以解释如何在 STL 中实现设计模式 我做了谷歌但无法获得太多数据 我希望你的意思是 哪些设计模式可以在STL中识别 STL 堆栈是一个容器适配器 适配器是一种设计模式 迭代器也是一
  • 为什么 `boost::any` 比 `void*` 更好?

    有什么先天优势boost any and boost any cast提供超过使用void and dynamic cast 优点是boost any比类型安全得多void E g int i 5 void p i static cast
  • 在C中更改函数内的数组

    我正在学习 C 并且很困惑为什么在 main 中创建的数组不会在函数内部更改 我假设传递的数组是一个指针 并且更改指针应该更改数组 对吧 有人可以解释这种情况下发生了什么吗 谢谢你的帮助 int main int i length 10 i
  • 在 asp.net MVC 控制器中调用异步外部 Web 服务

    在 Asp net MVC 控制器 GET 方法 中 我调用外部 Web 服务 用于 IP 地理定位 返回 IP 位置的 json 数据 如何使调用异步 以便堆栈可以在等待服务响应时继续 当 GEO IP 请求完成后 我希望能够更新数据库
  • 使用 JSON.NET 反序列化一些 JSON

    我对 JSON 非常陌生 我需要解析 API 提供的一些内容 谷歌快速搜索出现了JSON NET http james newtonking com pages json net aspx 所以我现在尝试使用它将此 JSON 解析为列表对象
  • win32 内容已更改,但除非移动窗口,否则不会显示更新

    我的 win32 GUI 内容每秒都会更改 但除非手动移动窗口 否则不会显示更新 我尝试每秒弹出一个消息框来触发窗口刷新 它成功了 因此 这证明我的内容确实发生了变化 但窗口没有更新 我希望刷新窗口而不是每次都弹出消息框 有没有这样的窗口功

随机推荐

  • 在djangorest框架中使用postman上传图像时出错

    我正在尝试创建一个端点 以使用 django 休息框架将图像 使用邮递员 上传到特定文件夹 这是我对文件夹的设置 MEDIA URL media MEDIA ROOT os path join BASE DIR media 这是我的模型 c
  • 如何使用命名空间解析 XML?

    这是我的 xml 文件 我试图使用 PHP simplexml load string 函数类解析它 但它只打印标签和 xml 的其余部分不会返回 XML 文件
  • Eclipse pydev 警告 - “未找到使用 cython 的调试器加速。”

    我在运行 python 程序时收到此警告 使用 selenium 的一些基本网络自动化 警告 未找到使用 cython 的调试器加速 跑步 usr bin python3 5 root p2 pool plugins org python
  • 星号传入消息给出:415 不支持的媒体类型

    我和我的项目组正在尝试设置带有星号的 PBX 我们已经设法让它仅适用于 SIP 呼叫 而且效果非常完美 但是一旦我们想尝试向其中添加 XML 消息 Asterisk 就无法识别它并给出 415 不支持的媒体类型 看起来这个电话甚至没有打通
  • Visual Studio 代码调试控制台颜色?

    调试node js代码时 有没有办法在Visual Studio Code 版本1 10 2 的调试控制台中显示颜色 就像在终端中一样 要在 Visual Studio 中从 NodeJS 输出彩色消息 您可以在 console log 方
  • SQL 重命名表命令

    我可以跑RENAME TABLE student TO student new 该命令是相同的并且易于遵循 有没有一种方法可以用简单的命令重命名很多表 假设所有表都属于同一个数据库名称 我不需要写很多代码 如下所示 RENAME TABLE
  • formview 内的 AJAX Tabcontainer 不插入值

    我在数据绑定 FormView 中有一个 TabContainer 按类别显示信息 例如 客户生物数据 健康历史记录 财务详细信息 formView 的更新和插入不起作用 将 NULL 值发布到数据库 我猜 FormView 无法在选项卡容
  • 如何在 RxJS 中实现时间到期热可观察(或在响应式扩展中通用)

    我想用 RxJs 实现时间过期缓存 这是 正常 缓存的示例 let this represents heavy duty job var data Rx Observable return Math random 1000 delay 20
  • Rails 3 具有变量命名空间的路由资源

    是否可以有一个变量命名空间 我有如下的宁静资源 resources articles resources persons 但我需要将它们限定在变量命名空间内 以便它响应以下形式的 URL edition controller action
  • 从我的 Android 应用程序中的网页获取点击事件

    我正在创建一个带有按钮的示例网页 该网页正在 Android 中使用 webview 进行调用 现在 当我单击网页上的按钮 即 html 按钮 时 我应该能够在 Android 中执行一些代码 如何进行 public class web e
  • 如何使用 Google Apps 脚本将 Google 表格单元格中的文本字符串解析为 CSV 文件?

    我在使用 Google Apps 脚本解析 Google 表格单元格中的字符串时遇到问题 我使用了JavaScript方法Array indexOf 但未能找到单元格中字符串中存在的字符 我尝试在单元格中字符串的字母之间插入下划线 但每个单
  • Linq 每次迭代选择 5 个项目 [重复]

    这个问题在这里已经有答案了 Linq 根据我们的枚举器每次选择 5 项 我们的清单例如 theList has 100 件 想要浏览列表并每次迭代选择 5 个项目 示例代码 我们希望将其更改为我们想要的结果 theList dt AsEnu
  • 使用具有belongsTo关系的访问器变元

    使用 Laravel 4 我在我的 User 模型中设置了一个 mutator public function getFullnameAttribute value return this gt first name this gt las
  • 当处理程序已经存在并绑定时,JQuery stopPropagation on .live()

    我知道文档中会出现实时通话 这就是我遇到问题的原因 不幸的是 我正在使用绑定元素的第三方库 并且希望创建一个单击事件不会冒泡到这些元素的情况 将 click 与 eventStopPropogation 结合使用效果很好 但是由于内容的动态
  • 使用 PySide2 在 QTableView 中设置文本样式

    我有一个 QTableView 填充了正确的模型 我想根据上下文更改文本的样式 文本 如果括号之间有内容 则这部分文本应更改为绿色 包括括号 并且粗体 只要它不难 如果您可以提供一个片段或超级简单的示例 我将不胜感激 您必须使用一个委托来使
  • CosmosDB C# SDK ProyUrl 缺失

    我正在 NET Core 中开发一个针对 Azure 的容器化微服务项目 docker 因此 我们使用 Azure Cosmos DB 和 CoreSql Api 的 C Cosmos DB SDK v2 4 因为 v3 仅处于预览版 在开
  • 如何从包含 XML 的字符串中删除第一行?

    我有一个包含 XML 的字符串 我想删除它的第一行并将其保存回 String 我怎样才能做到这一点 Thanks 假设您想要删除字符串末尾的新行 您可以执行以下操作 s s substring s indexOf n 1 当没有新的线路时
  • 如何配置 jdee `find-class-source-file` 以与 Cassandra 源树一起使用?

    我正在尝试为我即将开始的 Java 项目设置 Emacs JDEE 但我无法让 JDEE 正常工作 我想要解决的第一个问题是能够跳转到给定类名的源文件 我正在使用卡桑德拉 http cassandra apache orgsource 作为
  • Jquery 点击图像时切换

    我想了解 jquery 切换是如何工作的 我想切换到下一个锚点plr anchor单击带有类的图像go down 数据是使用地图填充的 Jquery代码 go down on click function e plr anchor next
  • C# 在txt文件中搜索字符串

    我想在 txt 文件中找到一个字符串 如果字符串比较 它应该继续读取行 直到我用作参数的另一个字符串 Example CustomerEN search for this string some text which has details