从LDAP错误消息中提取数据值
本文关键字:提取 数据 消息 LDAP 错误 | 更新日期: 2023-09-27 18:01:20
我有一个例外类型DirectoryServicesCOMException
,我需要从它的ExtendedErrorMessage
属性中提取数据值。
下面是ExtendedErrorMessage
属性的一个示例测试:
8009030C: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 701, v1db1
我需要701
从字符串。
仅供参考,我从SO找到了这些消息:https://stackoverflow.com/a/15024909/481656
我通过使用LastIndexOf '数据'和下一个','后LastIndexOf '数据'组合成功,但寻找一个更干净的解决方案。
谢谢。
如果您想要的结果总是在最后一个逗号之前,并且它只是数字,您可以使用String.Split(Char[], StringSplitOptions)
重载StringSplitOptions
枚举和Regex.Match(string, string)
方法,如;
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
这里a demonstration
。