提取一行内容里面的数据
文件的内容里面如下:
…………
SLN*7**I*24*PR****BN*24B32965 M 00045831295
SLN*8**I*24*PR****BN*24B32965 M 00045831297
SLN*9**I*24*PR****BN*24B32965 M 00045831298
SLN*10**I*24*PR****BN*24B32965 M 00045831285
…………
唯一可遵循的规律就是,第一个与第二个星号之间的是INDEX,第四与五星号之间的24是“每个箱装载的货物数量”。所要做的就是把行里面的几个数据提出来。
请问大家有好的算法吗?
[解决办法]
看看这样是不是你想要的结果
string yourStr = ............;
MatchCollection mc = Regex.Matches(yourStr, @ "\*(\d+)\*\*[^\*]*\*(\d+)\*[^\*]*\*{4}[^\*]*\*(\S+)\s*M\s*(\d+) ");
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[1].Value + "\n ";
richTextBox2.Text += m.Groups[2].Value + "\n ";
richTextBox2.Text += m.Groups[3].Value + "\n ";
richTextBox2.Text += m.Groups[4].Value + "\n ";
}