日期:2014-05-19  浏览次数:20908 次

怎么比较二个都带有GUID的字符串是否相同?
比如说一个是Test1[8AA42BC-D430-412f-B46D-86CD58C8D892],
另一个是Test[78372F0E-D1BC-418f-A0BE-60C3545E8F05],

怎么来比较它们二个是相同的,只要GUID前面的相同就是相同
谢谢!

------解决方案--------------------
把字符串拆分成两部分,比较前面的就好
------解决方案--------------------
guid的位数是固定的。
string abc = "Test[18AA42BC-D430-412f-B46D-86CD58C8D892].KOOOO[]10AA42BC-D430-412f-B46D-86CD58C8D892 ";

abc.Remove(abc.Length - 80);
删除指定位置后的所有字符。
80是guid长度。
------解决方案--------------------
那就用正则表达式匹配第一个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);