每次我将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'"
为什么这只对双引号表现异常?我怎样才能添加一个而不是两个?
答案 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