您好我正在尝试从此标记文件中提取值 这是文件
0
LINE
5
1C1CBD
330
1C1ADB
100
AcDbEntity
8
0-FD
62
9
370
-2
100
AcDbLine
10
53740.73468153231
20
-190253.3098529756
30
0.0
11
53690.49919802765
21
-190166.2994431953
31
0.0
0
你可以看到“LINE”下面有一个十六进制数字,无论如何我可以把它提取到某个列表中吗?
像 VALUE = 1C1CBD
然后我怎样才能获得最大值?
编辑1
我看到“5”可以通过使用正则表达式找到“\ s \ s5”我可以使用它吗?
答案 0 :(得分:0)
感谢您的反馈,我已经能够完成我想要的任务 这是代码
string[] handle = originalString.Split(new string[] { "\r\n" }, StringSplitOptions.None);
List<string> hexa = new List<string>();
for (var a = 1; a <= handle.Count() - 1; a++)
{
if (Regex.IsMatch(handle[a], @"^\s\s5"))
{
hexa.Add(handle[a + 1]);
}
}
List<int> HexaToInt = new List<int>();
foreach (string valueHexa in hexa)
{
int intHexaValue = int.Parse(valueHexa, System.Globalization.NumberStyles.HexNumber);
HexaToInt.Add(intHexaValue);
}
int maximumHexa = HexaToInt.Max();
string hexValue = maximumHexa.ToString("X");
有可能从句柄组代码中提取十六进制值
答案 1 :(得分:-1)
完全不可能。
无法捕捉角色并提取所需内容。
您必须更好地组织此文件的结构。