如何从数字标记文件中获取值并进行比较?

时间:2012-01-27 01:55:18

标签: c# extract

您好我正在尝试从此标记文件中提取值 这是文件

  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”我可以使用它吗?

2 个答案:

答案 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)

完全不可能

无法捕捉角色并提取所需内容。

您必须更好地组织此文件的结构。