C#如何截取想要的字符串

有这么一串16进制的数据,我该如何通过字符截取出我想要的字段,我想要中间的6820DF680601390F16

FFFFFF6820DF680601390F166820DF68020235414916

如果您需要截取的字符串位于原始字符串中的任意位置,您可以使用 C# 中的 IndexOf 方法来查找原始字符串中子字符串的位置,然后使用 Substring 方法来截取您需要的部分。

下面是一个示例代码,它将原始字符串中的子字符串位置作为参数传递给 Substring 方法来截取所需的部分:

string hexString = "FFFFFF6820DF680601390F166820DF68020235414916";
string subString = "6820DF680601390F16";

int index = hexString.IndexOf(subString);
if (index != -1)
{
    string field = hexString.Substring(index, subString.Length);
    Console.WriteLine(field);
}

在这个示例中,我们先使用 IndexOf 方法查找子字符串 6820DF680601390F16 在原始字符串中的位置,如果找到了,就使用 Substring 方法来截取该子字符串。这个方法会输出 6820DF680601390F16,这是原始字符串中包含所需子字符串的部分。

a='FFFFFF6820DF680601390F166820DF68020235414916';
b=a.SubString(6,18);

6820DF680601390F16有什么规律?是6-18位?
SubString(6,18)
或者用正则表达式
regex.Match(s, "(?<=FFFFFF)[A-F\d]{12}");