求一个高效率的字符串处理代码
031007FFFF0C10 031007FFFF0F11 031007FF030C10031007FFFF0C10 03 1007 FF FF0C10 031007FFFF0C10 03 10 07 FF 03 0C 10 031007FFFF0C10031007FFFF0C10 031007FFFF0F10031007FFFF0C10031007FF 030C10031007FF 030C10031007FFFF0C10 031007 FF FF 0C 1003 1007FF FF0C 10031007FFFF0F10 031007FFFF 0C10
string s = "031007FFFF0C10 031007FFFF0F11 031007FF030C10031007FFFF0C10 03 1007 FF FF0C10 031007FFFF0C10 03 10 07 FF 03 0C 10 031007FFFF0C10031007FFFF0C10 031007FFFF0F10031007FFFF0C10031007FF 030C10031007FF 030C10031007FFFF0C10 031007 FF FF 0C 1003 1007FF FF0C 10031007FFFF0F10 031007FFFF 0C10"
.Replace(" ","");
MatchCollection mc= Regex.Matches(s,@"031007[0-9A-F]{8,8}");
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
private List<string> Locate(string recv)
{
List<string> result = new List<string>();
char[] tmp = new char[14];
tmp[0] = '0';
tmp[1] = '3';
tmp[2] = '1';
tmp[3] = '0';
tmp[4] = '0';
tmp[5] = '7';
int i = 0;
foreach (char a in recv)
{
//非16禁止字符直接丢弃
if (a < 30
[解决办法]
a > 46)
continue;
//判断前面6位是否为固定值,不是就重新判断
if (i < 6)
{
if (tmp[i] != a)
i = 0;
else
i++;
}
else
{
tmp[i] = a;
if (i == 13)
{
result.Add(new string(tmp));
i = 0;
}
else
i++;
}
}
return result;
}