结束字符未添加到字符串中

时间:2017-12-06 15:08:13

标签: .net string vb.net

我正在尝试为DirectorySearch过滤器加载字符串。

strFilter = "((objectClass=container)(cn=" & strParameter & "))"

结束字符的含义并不重要,它们不会被添加到字符串中。它总是最终:

strFilter = "((objectClass=container)(cn=" & strParameter

这太令人沮丧了。我甚至不能随后添加端部括号。到底是怎么回事?字符串不应该像这样!

1 个答案:

答案 0 :(得分:1)

如果strParameter包含空字符(char 0),则大多数文本编辑器/文本查看器通常不会呈现字符串的其余部分,即使它实际存在。这是因为null-character通常用于表示字符串的结尾。

尝试修剪字符串中的任何空字符,看看它是否解决了您的问题:

strFilter = "((objectClass=container)(cn=" & strParameter.Trim(ChrW(0)) & "))"

更多信息:

如果您将来(由于某种原因)遇到字符串中间的空字符,您可以尝试全部删除所有空字符:

strFilter = "((objectClass=container)(cn=" & strParameter.Replace(ChrW(0), "") & "))"