比如说一个是Test1[8AA42BC-D430-412f-B46D-86CD58C8D892],
另一个是Test[78372F0E-D1BC-418f-A0BE-60C3545E8F05],怎么来比较它们二个是相同的,只要GUID前面的相同就是相同
谢谢!

解决方案 »

  1.   

    那一个是Test[18AA42BC-D430-412f-B46D-86CD58C8D892].KOOOO[]10AA42BC-D430-412f-B46D-86CD58C8D892,
    另一个是Test[78372F0E-D1BC-418f-A0BE-60C3545E8F05]].KOOOO[]19AA42BC-D430-412f-B46D-86CD58C8D892,
    注意了,前后二个GUID都是不一样的
      

  2.   

    guid的位数是固定的。
    string abc = "Test[18AA42BC-D430-412f-B46D-86CD58C8D892].KOOOO[]10AA42BC-D430-412f-B46D-86CD58C8D892";abc.Remove(abc.Length - 80);
    删除指定位置后的所有字符。
    80是guid长度。
      

  3.   

    可是大部分时候STRING是这个样子的啊:
    Test[18AA42BC-D430-412f-B46D-86CD58C8D892].KOOOO[10EE42BC-D430-412f-B46D-86CD58C8D892].KKKO"
      

  4.   

    那就用正则表达式匹配第一个guid的位置。
    string abc = "Test[18AA42BC-D430-412f-B46D-86CD58C8D892].KOOOO[]10AA42BC-D430-412f-B46D-86CD58C8D892";
    Regex r = new Regex(@"\w{8}\-\w{4}\-\w{4}\-\w{4}\-\w{12}");
    Match m = r.Match(abc);  // 匹配第一个guid的起始位置
    abc.Remove(m.Index - 1);