如何在 VB .NET 中将单引号插入双引号

How to insert single quotes in double quotes in VB .NET

我正在尝试在双引号内插入单引号... 像这样的开始引号 "“" ..... 和像这样的结束引号 "”" ...

我的代码:

objWriter.WriteLine("<li>" + "“" + "<em>" + BP1.Text + "</em>" + "”" + " ― " + "<strong>" + BPGB1.Text + "</strong>" + "</li>")

看来你用错了单引号字符:

objWriter.WriteLine("<li>" + "'" + "<em>" + BP1.Text + "</em>" + "'" + " ― " + "<strong>" + BPGB1.Text + "</strong>" + "</li>")

第一名:

你提到的字符不是单引号,是双引号。

第二名:

Vb.Net中,不像C#,字符串连接是用&运算符进行的,避免使用+ 运算符,在某些情况下它会给你 unexpected results


Visual Studio 的代码编辑器会自动用普通双引号替换您提到的字符,但是,了解 Unicode 引用后您可以获得执行时的特定字符然后正常连接它们或以这种方式使用 String.Format() 方法:

Dim lQuotes As Char = Convert.ToChar(&H201C) ' “
Dim rQuotes As Char = Convert.ToChar(&H201D) ' ”

Dim str As String = String.Format("{0}Hello World{1}", lQuotes, rQuotes)

Console.WriteLine(str) ' “Hello World”

更新

您提供的字符串示例:

Dim lQuotes As Char = Convert.ToChar(&H201C) ' “
Dim rQuotes As Char = Convert.ToChar(&H201D) ' ”

Dim str As String =
    String.Format("<li>{0}<em>{2}</em>{1} ― <strong>{3}</strong></li>",
                  lQuotes, rQuotes, BP1.Text, BPGB1.Text)

objWriter.WriteLine(str)

不确定这是否有效:

objWriter.WriteLine("<li>" & "““" & "<em>" + BP1.Text + "</em>" + "””" + " ― " + "<strong>" + BPGB1.Text + "</strong>" + "</li>")

或者甚至这个

objWriter.WriteLine("<li>" & ““““ & "<em>" + BP1.Text + "</em>" + ”””” + " ― " + "<strong>" + BPGB1.Text + "</strong>" + "</li>")

您必须将 &"""" 更改为 chr(24)

所以你会有这样的东西 objWriter.WriteLine("

  • " & chr(34 ) & chr(34) & "" + BP1.Text + “.....