读取文本文件块

2024-03-01

我有一个文本文件,其中每隔几行后就会在行开头重复一个特定字符。没有。之间的线数不固定。我能够找出发生这种情况的那些行。我想读一下中间的那些行。

 using (StreamReader sr = new StreamReader(@"text file"))
 {
     string line;
     while ((line = sr.ReadLine()) != null)
     {
         if (line.StartsWith("some character"))

因为下次该字符出现时,代码保持不变。我无法阅读之间的那些行

For eg.

Condition at the begining of a line
Next line
Next line
Condition at the begining of a line
Next Line
Next Line
Next Line
Next Line
Condition at the begining of a line

我必须读中间的几行。每次情况都保持相同。谢谢。


我假设您想要解析文本文件并每次处理条件之间的所有文本块。

基本上,您读取每一行,检查第一个条件,该条件表示一个“块”的开始,并继续读取这些行,直到找到另一个条件,该条件表示该块的结束(以及另一个块的开始)。

清洗、冲洗,重复。

一个简单的例子:

using (var reader = new StreamReader(@"test.txt"))
{
    var textInBetween = new List<string>();

    bool startTagFound = false;

    while (!reader.EndOfStream)
    {
        var line = reader.ReadLine();
        if (String.IsNullOrEmpty(line))
            continue;

        if (!startTagFound)
        {
            startTagFound = line.StartsWith("Condition");
            continue;
        }

        bool endTagFound = line.StartsWith("Condition");
        if (endTagFound)
        {
            // Do stuff with the text you've read in between here
            // ...

            textInBetween.Clear();
            continue;
        }

        textInBetween.Add(line);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取文本文件块 的相关文章

  • 使用 OpenXML 打开受保护的 Word 文档

    我到处寻找 但找不到任何答案 所有帖子和讨论都是关于创建受保护的帖子和讨论 但没有任何内容可以打开它 我在我的 c 程序中保护了 DOCX 和 DOC 文档 并希望使用 OpenXML 2 5 以编程方式打开它们 我已经使用 Office
  • 动态库使用静态库,出现未定义的符号

    我一直在寻找解决问题的方法 只是得到了一些线索 但我找不到任何一致的解决方案 我有一个动态库 libdyna so 的代码 它使用3个静态库 libone a libtwo a lib Three a 和log4cpp库的功能 当我第一次构
  • 在 ASP.NET Core 中全局重用变量

    我必须强制这些变量在我想使用的每个变量上重用 这让我很困难 我需要创建一个类来定义这些变量并在整个程序中使用它们 我怎样才能做到这一点 string RootFolderName Uplaod string ProductPictureFo
  • 是否有任何替代方法来实现 WebRTC SFU,只有 1 个上传流?

    我有一个服务器 能够将 WebRTC 媒体数据从 A 中继到 B 对于视频会议 如果我们采用 P2P 方法 则会创建一个网状网络 当P2P不起作用的时候 我们就可以拥有这个中继服务器 主要问题是在网状网络中 对于N个参与者来说 上传链路的数
  • 资源文件中的控制字符 C#

    我想添加Left To Right控制字符在resource resx文件输入Visual Studio 我在互联网上搜索并找到了一个名为在 NET 资源文件中转义序列的另一种方法 http www devx com tips Tip 34
  • Linq Any 始终返回 true

    我已经使用 Linq to Entities 多年 但这是我第一次遇到这个问题 我有Tips and Items表 每个提示可以有很多项目 我的数据库中只有 3 个项目 编辑项目时 我想确保GivenId对于具有相同提示的项目 字段是唯一的
  • 改装和授权标头

    目前 我正在向我的请求添加授权标头 如下所示 文件 SomeFile cs public interface ITestApi Get api test id Task
  • 安装/编译 pylzma(lzma python 绑定)

    我已经向作者提出了这个问题website http www joachim bauch de projects pylzma comment page 1 comment 5211 但我想我也可以在这里问 我一直在尝试使用以下设置安装 py
  • 具有 Nhibernate 设计问题的领域模型

    我正在尝试进入 DDD with C 世界 我使用NHibernate作为我的ORM工具 因此尝试开发一个PI Persistence Ignorance 模型 但是 在我的一些实体 表示为 POCOS 中 我的属性设置器中有业务规则 例如
  • 除非我在开​​始时声明变量,否则为什么会收到“错误未声明的标识符”?

    当我有以下情况时 include stdafx h include
  • 对指针列表进行排序

    我再次发现自己在 C 中的一些非常简单的任务上失败了 有时我希望我能从 Java 中的 OO 中学到所有知识 因为我的问题通常是从像 Java 一样思考开始的 无论如何 我有一个std list
  • 在 Visual Studio 2017 mac 上安装扩展 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试在 Visual Studio for Mac 上安装 Visual Studio Marketplace 扩展 但是 Vi
  • llvm clang 编译器上的dynamic_cast失败

    我看到一个奇怪的失败dynamic cast正在返回NULL在 clang 编译器上 但相同的代码可以在 gcc 环境下运行 您能否指出根本原因是什么 之间可能有什么区别dynamic cast关于 llvm 和 gcc 我正在使用两个编译
  • OpenFileDialog 中的多个文件扩展名

    如何在一组中使用多个文件扩展名OpenFileDialog 我有Filter BMP bmp GIF gif JPG jpg PNG png TIFF tiff 我想创建组 以便 JPG 为 jpg 和 jpeg TIFF 为 tif 和
  • 访问控制器类中的 appsettings.json 值

    无法弄清楚如何读取startup cs之外的appsettings json值 例如 我想做的是在 Layout cshtml 中 从配置中添加站点名称 例如 ViewData SiteName Configuration GetValue
  • Pythonlibs3 CMake 和 macOS

    更新2 将以下两行添加到我的 CMake 文件中时 成功找到了 python 3 及其库 这只在终端中工作的原因是因为 CLion 使用其捆绑版本的 CMake 3 6 3 而我的终端使用的更新版本 3 7 2 正确找到了 python F
  • Cmake:在自定义目录中查找 protobuf 包

    我有 cmake 3 10 x 并下载了当前的 protobuf 源 3 6 1 使用 cmake 我创建了 bin 目录 PROTOBUF SOURCE DIR bin 在其中成功构建了该库 下一步我想在我的基于 cmake 的项目中使用
  • 在方法签名中使用 new 关键字通常只是为了可读性吗?

    我读过关于new关键词在方法签名中并看到了下面的例子this https stackoverflow com questions 1014295 c sharp new keyword in method signature发帖了 但还是不
  • TPL架构问题

    我目前正在开展一个项目 我们面临并行处理项目的挑战 到目前为止没什么大不了的 现在来说说问题 我们有一个 ID 列表 我们定期 每 2 秒 为每个 ID 调用一个 StoredProcedure 需要单独检查每个项目的 2 秒 因为它们是在
  • 系统.安全.加密与 PCLCrypto

    我们正在删除系统中的许多共享功能并将其移植到 PCL 库中 我在使用 PCLCrypto 时遇到问题 我正在获取数据库中的一些现有数据 并尝试使用相同的算法对其进行解密 我得到了值 但末尾有 16 个额外字节 这些字节都是垃圾 参见下面的代

随机推荐

  • 删除文件objc

    我正在使用以下代码创建文件 NSString docPath NSHomeDirectory stringByAppendingPathComponent Documents NSString filename xyz123 data do
  • GraphViz - 子图的对齐

    I d like to draw a diagram like this But the only diagram I can draw is 我使用的代码 graph rankdir LR node shape box x1 x2 x3
  • 生产证书不适用于 APNS,但适用于 AWS SNS 中的 APNS_SANDBOX

    我们在应用程序商店中有一个实时 iOS 应用程序 我们在集成 SNS 时面临以下问题 在 SNS 控制台上创建新的平台应用程序时 APNS 不接受生产证书 但 APNS SANDBOX 接受生产证书和开发证书 闪烁的错误是 无效参数 属性原
  • Google Map API 可查找我所在位置附近的餐厅

    我正在开发 Google 地图 api 这是我查找附近餐厅的方法 当我运行这个时 我只得到当前位置 我没有收到任何与餐厅数据相关的信息
  • CSS“font-size:medium”是否将字体设置为.Body字体大小或*浏览器*的基本字体大小?

    在 CSS 缺失的手册 中 作者说 font size medium 或其他尺寸关键字 设置相对于浏览器的基本字体大小 但我在 FF2 和 IE6 中看到的是 它将字体大小设置为我在 CSS HTML 或 BODY 样式 这是更优选的 中指
  • 我对 for 循环中的 javascript let 和 var 感到困惑? [复制]

    这个问题在这里已经有答案了 这是我的循环代码 var username Sam Adarsh Rohit Rajat for var i in username console log username i 它的输出与需要的相同 但我不确定
  • 在Python中将整数转换为字符串

    如何将整数转换为字符串 42 42 For the reverse see How do I parse a string to a float or int https stackoverflow com questions 379906
  • 无法让 Ninject.Extensions.Interception 工作

    多年来我一直在努力弄清楚这是我们的 当我尝试将我的类与拦截器绑定时 我收到以下异常 Kernel Bind
  • 多参数类型同义词实例

    我试图弄清楚是否可以 以及如何 为多参数类型同义词定义类实例 例如 LANGUAGE MultiParamTypeClasses FlexibleInstances type F a b a gt b data DF a b DF a gt
  • OpenCl 代码可以在一台机器上运行,但我在另一台机器上收到 CL_INVALID_KERNEL_ARGS

    我有以下代码 它在一台机器上运行良好 但是当我尝试在另一台具有更好显卡的机器上运行它时 我收到错误 global 0 512 global 1 512 local 0 16 local 1 16 ciErrNum clEnqueueNDRa
  • SQL查询从多个表返回数据

    我想了解以下信息 如何从数据库中的多个表中获取数据 有哪些类型的方法可以做到这一点 什么是联接和并集 它们之间有何不同 与其他方法相比 我应该什么时候使用每一种方法 我计划在我的 例如 PHP 应用程序中使用它 但不想对数据库运行多个查询
  • 删除表中的最后一行

    我有一个简单的问题 我想删除表中的最后一行 我复制了一个删除选中行的函数 function deleterow tableID try var table document getElementById tableID var rowCou
  • 删除 Ruby 中字符串中的空白换行符

    我有一串由四个空白行组成的字符串 总共八行如下 str aaa n n nbbb n nccc ddd n 我想在一行中返回这一切 单行输出应如下所示 aaabbbcccddd 我使用了各种修剪功能来获取输出 但仍然失败 我在这里必须使用什
  • 如何使用 Axios 发布到 Django?

    我正在从 Jquery AJAX 迁移到 Axios 因为我使用的是 ReactJS 所以我认为它更干净 我在向服务器发布一个简单的请求时遇到了一些麻烦 post 方法会通过我的视图 但每当我print request POST 我有一个空
  • 无法在当前状态下启动设备:已启动

    在模拟器中运行 构建 运行 项目时 对 Xcode6 beta 中的 无法在当前状态下启动设备 已启动 错误的任何猜测 我刚刚在 Xcode 6 中运行我现有的项目 我发现了上面的消息 我尝试清理 删除派生数据 甚至重新启动模拟器也不起作用
  • 如何在 python concurrent.futures 中中断 time.sleep()

    我正在玩并发期货 https docs python org 3 library concurrent futures html 目前我未来的电话time sleep secs 看起来Future cancel https docs pyt
  • 如何从外部属性文件访问 pom.xml 中的变量?

    我需要通过一个键来获取值pom xml来自外部属性文件 属性文件的位置位于src main resources dev properties 我尝试通过使用 Maven 中的属性来解决这个问题 请帮我 pom xml
  • 多次使用 std::async 来执行小任务性能友好吗?

    为了提供一些背景信息 我正在处理一个保存的文件 在使用正则表达式将文件拆分为其组件对象后 我需要根据对象的类型来处理对象的数据 我目前的想法是使用并行性来获得一点性能增益 因为加载每个对象是彼此独立的 所以我要定义一个LoadObject函
  • android,如何在sqlitedatabase中执行sql文件

    我有 food db sql 文件存储在 res raw 文件夹中 它里面有大量的 插入 我的问题是如何执行文件并将数据放入我的 Android 应用程序中的 sqlite 数据库中 这是我的数据库代码 有什么建议么 private sta
  • 读取文本文件块

    我有一个文本文件 其中每隔几行后就会在行开头重复一个特定字符 没有 之间的线数不固定 我能够找出发生这种情况的那些行 我想读一下中间的那些行 using StreamReader sr new StreamReader text file