VB.NET,在字符串中添加双引号字符

时间:2015-10-01 15:51:19

标签: vb.net

每次我将CharW(34)添加到字符串时,它会添加两个""符号

示例:

text = "Hello," + Char(34) + "World" + Char(34)

文字结果

"Hello,""World"""

如何添加一个"符号?

例如理想的结果是:

"Hello,"World""

我也尝试过:

text = "Hello,""World"""

但我仍然得到双"符号

此外。添加CharW(39),这是一个'符号只产生一个? e.g

text = "Hello," + Char(39) + "World" + Char(39)

结果

" Hello,'World'"

为什么这只对双引号表现异常?我怎样才能添加一个而不是两个?

3 个答案:

答案 0 :(得分:8)

假设你的意思是旧Chr而不是Char(这是一种类型)。它不会添加两个引号字符。它只增加了一个。如果将字符串输出到屏幕或文件,您会看到它只添加一个。但是,Visual Studio调试器显示值的VB字符串 - 文字表示,而不是原始字符串值本身。因为在字符串中转义双引号字符的方法是连续放两个,这就是它显示它的方式。例如,您的代码:

text = "Hello," + Chr(34) + "World" + Chr(34)

也可以简单地写成:

text = "Hello,""World"""

因此,调试器只是在VB语法中显示它,就像在C#中一样,调试器会将值显示为"Hello, \"World\""

答案 1 :(得分:1)

该文本中并没有双引号。调试器引用文本,使其显示在源代码中。如果你在C#中做同样的事情,嵌入的新行将使用它的源代码格式显示。

您可以在源代码中添加语句,以在调试窗口中显示该值,而不是使用调试器的输出。

Diagnostics.Debug.WriteLine(text)

这应该只显示一组引号。

答案 2 :(得分:0)

嗯,非常狡猾 只需使用:ControlChars.Quote "您好," &安培; ControlChars.Quote& "世界" &安培; ControlChars.Quote