行数字符串

时间:2013-09-12 16:15:15

标签: c# regex biztalk

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

我正在使用streamreader读取文件,该文件是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允许我访问我的文件中的信息。

1 个答案:

答案 0 :(得分:1)

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