在VBScript中为字符串添加引号

sus*_*ant 54 vbscript escaping string-concatenation

我有这个代码:

a = "xyz"  
g = "abcd " & a  
Run Code Online (Sandbox Code Playgroud)

它运行后,价值gabcd xyz.

但是,我希望围绕ain 的值引用g.运行代码后,g应该是abcd "xyz".

我怎么能做到这一点?

tan*_*ius 90

你可以通过加倍报价来逃避

g="abcd """ & a & """"
Run Code Online (Sandbox Code Playgroud)

或写一个明确的chr()电话

g="abcd " & chr(34) & a & chr(34)
Run Code Online (Sandbox Code Playgroud)


Sim*_*mon 15

你必须使用双引号来转义双引号(lol):

g = "abcd """ & a & """"
Run Code Online (Sandbox Code Playgroud)


Tom*_*lak 8

我经常这样做:

Const Q = """"

Dim a, g
a = "xyz"  
g = "abcd " & Q & a & Q
Run Code Online (Sandbox Code Playgroud)

如果您需要在代码中更频繁地将字符串包装在引号中并发现上述方法有噪声或不可读,您还可以将其包装在函数中:

a = "xyz"  
g = "abcd " & Q(a)

Function Q(s)
  Q = """" & s & """"
End Function
Run Code Online (Sandbox Code Playgroud)


小智 6

指定引号的传统方法是使用Chr(34)。这是抗错误的,不是可憎的。

Chr(34) & "string" & Chr(34)
Run Code Online (Sandbox Code Playgroud)