如何在 UFT 12.0 中使用 VBScript 字典设置双引号

How to set Double Quotes using VBScript Dictionary in UFT 12.0

这里我想在我的句子中添加双引号("),但它在单个位置插入两个(“),如图所示。已尝试Chr(34)Replace(). 请帮助我在 UFT12 中使用 VBScript 在字典项中插入双引号。 我不想使用 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."

当我 "Watched" Dic("Value") 使用 UFT12.0 它给出了显示:

"I went to mall....Where I met my Friends ""XYZ & DEF"". We enjoied a lot."

您的调试器工具将字符串变量的值显示为文字(您必须 type/paste 到您的编辑器中)。证据:周围的双引号。

你的 .. "&Chr(32)&"XYZ" & "DEF"&Chr(34)&". .. 证明:使用 Chr() 是次等的(额外的函数调用和噪音)并且容易出错(Chr(错误的数字)转义为 " by ")。

这里有一个例子,除了详尽的(returns字符串和"第一次出现的位置,并在该字符串中加倍"") :

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