在这里,我想在我的句子中添加双引号("
),但它会在单个位置插入两个(“),如图所示。已尝试Chr(34)
和Replace()
。
请帮我在UFT12中使用VBScript在Dictionary Item中插入双引号。
我不想使用Msgbox来显示这个字符串。
Dim Dict
Set Dict=CreatObject("Scripting.Dictionary")
Dic("Value")="I went to mall....Where I met my Friends "&Chr(32)&"XYZ" & "DEF"&Chr(34)&". We enjoied a lot."
当我使用UFT12.0“观察”Dic("Value")
时它会显示:
“我去商场......在哪里见到了我的朋友”“XYZ& DEF”“。我们嘱咐了 很多“。
答案 0 :(得分:1)
您的调试器工具将字符串变量的值显示为文字(您必须键入/粘贴到编辑器中)。证据:周围的双引号。
你的.. "&Chr(32)&"XYZ" & "DEF"&Chr(34)&". ..
证明:使用Chr()是较差的(额外的函数调用和噪声)并且容易出错(Chr(错误的数字)以逃避“by”“。
答案 1 :(得分:1)
以下是一个示例,除了详尽的Ekkehard.Horner's answer(返回字符串以及第一次出现"
的位置并在该字符串中加倍""
):
option explicit
Dim myString0, myString1, myString2, myString4
myString0 = "none double quotes"
myString1 = "with ""double"" quotes 1"
myString2 = "with " & Chr(34) & "double" & Chr(34) & " quotes 2"
myString4 = "twice """"double"""" quotes"
Wscript.Echo Wscript.ScriptName & ": Using Double Quotes" _
& vbNewLine & myString0 _
& vbTab & InStr( 1, myString0, Chr(34) , vbTextCompare) _
& vbTab & InStr( 1, myString0, Chr(34)&Chr(34), vbTextCompare) _
& vbNewLine & myString1 _
& vbTab & InStr( 1, myString1, Chr(34) , vbTextCompare) _
& vbTab & InStr( 1, myString2, Chr(34)&Chr(34), vbTextCompare) _
& vbNewLine & myString2 _
& vbTab & InStr( 1, myString2, Chr(34) , vbTextCompare) _
& vbTab & InStr( 1, myString2, Chr(34)&Chr(34), vbTextCompare) _
& vbNewLine & myString4 _
& vbTab & InStr( 1, myString4, Chr(34) , vbTextCompare) _
& vbTab & InStr( 1, myString4, Chr(34)&Chr(34), vbTextCompare)
<强>输出强>:
==>cscript //nologo 28778280.vbs
28778280.vbs: Using Double Quotes
none double quotes 0 0
with "double" quotes 1 6 0
with "double" quotes 2 6 0
twice ""double"" quotes 7 7