C# 无法在名称包含的LDAP中搜索用户*
我的问题是,当用户的名字包含*时,我无法搜索用户。我使用的搜索字符串只是* 我在报纸上读到: 如果*(星号)符号出现在DN中,我必须用/2a转义字符 在我的代码中,我有以下声明:C# 无法在名称包含的LDAP中搜索用户*,c#,.net,search,active-directory,ldap,C#,.net,Search,Active Directory,Ldap,我的问题是,当用户的名字包含*时,我无法搜索用户。我使用的搜索字符串只是* 我在报纸上读到: 如果*(星号)符号出现在DN中,我必须用/2a转义字符 在我的代码中,我有以下声明: if(searchFilter.contains("*")) searchFilter = searchFilter.replace("*","\2a"); 上面的代码将生成一个错误:“无法识别的转义序列。” 我试着用 searchFilter.replace("*","\x2a"); 但是,它只会将*替换为另一
if(searchFilter.contains("*"))
searchFilter = searchFilter.replace("*","\2a");
上面的代码将生成一个错误:“无法识别的转义序列。”
我试着用
searchFilter.replace("*","\x2a");
但是,它只会将*替换为另一个*尝试使用双反斜杠。您必须从C#中转义“\”
嗨,Richard,我也试过了,但是结果搜索过滤器现在包含两个“\”字符,而实际上应该只有一个。你怎么知道的?如果您在调试器中查看,它将始终显示为C#字符串,因此有两个反斜杠。它起作用了。抱歉,我处于调试模式,这就是为什么有2个反斜杠
searchFilter = searchFilter.replace("*","\\2a");