我有一个文本文件,我将其加载到字符串数组中。该文件的内容如下所示:
OTI*IA*IX*NA~
REF*G1*J EVERETTE~
REF*11*0113722462~
AMT*GW*229.8~
NM1*QC*1*JENNNINGS*PHILLIP~
OTI*IA*IX*NA~
REF*G1*J EVERETTE~
REF*11*0113722463~
AMT*GW*127.75~
NM1*QC*1*JENNNINGS*PHILLIP~
OTI*IA*IX*NA~
REF*G1*J EVERETTE~
REF*11*0113722462~
AMT*GW*10.99 ~
NM1*QC*1*詹宁斯*菲利普~
...
我正在寻找以 OTI 开头的行,如果后面是“IA”,那么我需要从以 REF*11 开头的行中获取 10 位数字。到目前为止,我有这个:
string[] readText = File.ReadAllLines("myfile.txt");
foreach (string s in readText) //string contains 1 line of text from above example
{
string[] currentline = s.Split('*');
if (currentline[0] == "OTI")
{
//move down 2 lines and grab the 10 digit
//number from the line that starts with REF*11
}
}
我需要的行总是在当前 OTI 行之后的 2 行。如何访问从当前行向下 2 行的行?