C# 从LDAP错误消息中提取数据值
我有一个类型为C# 从LDAP错误消息中提取数据值,c#,regex,C#,Regex,我有一个类型为DirectoryServicesCOMException的异常,我需要从它的ExtendedErrorMessage属性中提取数据值 下面是一个来自ExtendedErrorMessage属性的示例测试: 8009030C:ldaper:DSID-0C0904DC,注释:AcceptSecurityContext错误,数据701,v1db1 我需要字符串中的701 仅供参考,我从SO处找到以下消息: 我成功地使用了LastIndexOf'data'和next','after La
DirectoryServicesCOMException
的异常,我需要从它的ExtendedErrorMessage
属性中提取数据值
下面是一个来自ExtendedErrorMessage
属性的示例测试:
8009030C:ldaper:DSID-0C0904DC,注释:AcceptSecurityContext错误,数据701,v1db1
我需要字符串中的701
仅供参考,我从SO处找到以下消息:
我成功地使用了LastIndexOf'data'和next','after LastIndexOf'data'组合,但正在寻找一个更干净的解决方案
谢谢。如果您想要的结果总是在最后一个逗号之前,并且只有数字,那么您可以使用枚举和类似的方法
string s = "8009030C: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 701, v1db1";
string[] array = s.Split(new []{','},
StringSplitOptions.RemoveEmptyEntries);
string s1 = array[array.Length - 2]; // This will be " data 701"
string finalstring = Regex.Match(s1, @"\d+").Value; // \d+ is for only integer numbers
Console.WriteLine(finalstring); // Prints 701
这里有一个