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

问题描述 投票:0回答:4

每次我将

CharW(34)
添加到字符串时,它都会添加两个
""
符号

示例:

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

文字结果

"Hello,""World"""

如何只添加一个

"
符号?

例如理想的结果是:

"Hello,"World""

我也尝试过:

text = "Hello,""World"""

但我仍然得到双

"
符号

此外。添加一个

CharW(39)
(一个 ' 符号)只会产生一个? 例如

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

结果

Hello,'World'"

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

vb.net
4个回答
14
投票

假设您指的是旧的

Chr
函数而不是
Char
(这是一种类型)。它不会添加两个引号字符。它只添加一个。如果将字符串输出到屏幕或文件,您会看到它只添加了一个。然而,Visual Studio 调试器显示该值的 VB 字符串文字表示形式,而不是原始字符串值本身。由于转义字符串中双引号字符的方法是将两个双引号字符排成一行,因此这就是它的显示方式。例如,您的代码:

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

也可以更简单地写为:

text = "Hello,""World"""

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

"Hello, \"World\""


2
投票

文本中实际上没有双引号。调试器正在引用文本,以便它看起来像在源代码中一样。如果您要在 C# 中执行相同的操作,则会使用其源代码格式显示嵌入的新行。

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

Diagnostics.Debug.WriteLine(text)

这应该只显示单组引号。


0
投票

嗯,这很容易 只需使用这个:ControlChars.Quote “你好,”&ControlChars.Quote&“世界”&ControlChars.Quote


0
投票

msgbox(string.format("你好{0}世界{0}", chr(34)))

© www.soinside.com 2019 - 2024. All rights reserved.