无法在LDAP中搜索名称包含*的用户

时间:2013-06-18 05:43:56

标签: c# .net search active-directory ldap

我的问题是,当他们的名字包含*时,我无法搜索用户。我使用的搜索字符串只是*。

我读过: http://msdn.microsoft.com/en-us/library/aa746475%28VS.85%29.aspx

如果DN中出现*(星号)符号,我必须使用/ 2a转义该字符。

在我的代码中,我有这样的陈述:

if(searchFilter.contains("*"))
searchFilter = searchFilter.replace("*","\2a");

上面的代码会生成一个错误,上面写着:“无法识别的转义序列”。 我尝试使用

searchFilter.replace("*","\x2a");

但是,它只会将*替换为另一个*。

1 个答案:

答案 0 :(得分:2)

尝试使用双背斜杠。你必须从C#中逃脱'\'。

searchFilter = searchFilter.replace("*","\\2a");