【发布时间】:2015-07-12 03:33:23
【问题描述】:
好的,首先我要感谢大家在过去几周对我的帮助很大,这是另一个!!!
我有一个文件,我正在使用正则表达式来查找术语“TamedName”出现了多少次。这是最简单的部分:)
原来我是这样设置的
StreamReader ff = new StreamReader(fileName);
String D = ff.ReadToEnd();
Regex rx = new Regex("TamedName");
foreach (Match Dino in rx.Matches(D))
{
if (richTextBox2.Text == "")
richTextBox2.Text += string.Format("{0} - {1:X} - {2}", Dino.Value, Dino.Index, ReadString(fileName, (uint)Dino.Index));
else
richTextBox2.Text += string.Format("\n{0} - {1:X} - {2}", Dino.Value, Dino.Index, ReadString(fileName, (uint)Dino.Index));
}
它返回完全不正确的索引点,如图所示
我相当有信心我知道它为什么这样做,可能是因为将所有内容从二进制文件转换为字符串,显然并非所有字符都会被翻译,因此会抛出实际的索引计数,因此尝试将其关联起来back 根本不起作用...问题,我不知道如何将正则表达式与二进制文件一起使用并正确翻译:(
我使用的是正则表达式而不是简单的搜索函数,因为每次出现“TamedName”之间的差异太大而无法编码到函数中。
真的希望你们能帮我解决这个问题:(我的想法已经不多了!!
【问题讨论】:
标签: regex streamreader