字符串的行号

本文关键字:字符串 | 更新日期: 2023-09-27 18:31:08

StreamReader reader = new StreamReader("C:''ABC''XYZ.txt");

我正在使用流阅读器读取文件,该文件是HL7文件

MSH|^~'&|ABC|000|ABC|ABC|0000||ABC|000|A|00
PID|1|000|||ABC||000|A||||||||||
PV1|1|O||||||||||||||||||||||||||||||||||||||||||
OBR|1|||00||00|00|||||||||||ABC|00|0|0||||A|||||00||ABC|7ABC||ABC
OBX|1|ABC|ABC|1|SGVsbG8=

我需要找到 OBX 的行号,文件每行末尾都有字符分隔符,例如 MSH|^~''&|ABC|000|ABC|ABC|0000||ABC|000|A|00*CR*LF

我需要

这样做的原因是我需要在 OBX 字段中获取 Base64,并将其写出文件。 我的阅读器将永远是一个流,我不能使用文件流。上面的代码是一个示例,以下实现将在 BizTalk 中进行,我将读取的文件将是流式传输,因为这就是 BizTalk 允许我访问文件中的信息的方式。

字符串的行号

var lineNum = File.ReadLines(fname)
                .Select((s, line) => new { s, line })
                .First(x => x.s.StartsWith("OBX|"))
                .line;