如何将撇号(“)添加到字符串?

时间:2017-05-05 19:43:44

标签: escaping autoit

我有这个AutoIt脚本:

ControlFocus("Open", "", "Edit1")
Sleep(500)
ControlSetText("Open", "", "Edit1", $CmdLine[1])
Sleep(500)
ControlClick("Open", "", "Button1")

在文件选择窗口中键入文件名。我想在我的字符串之前和之后添加"(我将作为命令行参数发送到我的脚本的字符串)。

我尝试ControlSetText("Open", "", "Edit1", $CmdLine[1] & """),但这会导致错误:Unterminated string.

2 个答案:

答案 0 :(得分:1)

Autoit使用对引号来表示字符串中的单个实例。

,例如""""(注意,有4个双引号)作为字符串中的单个双引号。

所以$CmdLine[1] & """"应该添加一个双引号。

请参阅AutoIt的文档。 https://www.autoitscript.com/autoit3/docs/intro/lang_datatypes.htm有一个关于字符串的部分。

答案 1 :(得分:0)

  

我尝试ControlSetText("Open", "", "Edit1", $CmdLine[1] & """),但这会导致错误:Unterminated string.

$CmdLine[1]之前没有尝试添加双引号(仅在之后)。

  

我想在字符串之前和之后添加" ...

根据Documentation - Intro - Datatypes - Strings

  

如果您希望字符串实际包含双引号,请使用两次...

您也可以使用单引号...

  1. Double double-quote

    根据Documentation - FAQ - 3. Why do I get errors when I try and use double quotes (") ?

      

    如果你想在字符串中使用双引号,那么你必须“加倍”。因此,对于您想要的每一个引用,您应该使用两个。 ...

    • "变为:

      $sString = """"

    • This is a "quoted" string.变为:

      $sString = "This is a ""quoted"" string."

  2. 单引号

    根据Documentation - FAQ - 3. Why do I get errors when I try and use double quotes (") ?

      

    ...或者使用单引号代替:...

    • "变为:

      $sString = '"'

    • This is a "quoted" string.变为:

      $sString = 'This is a "quoted" string.'

  3. ASCII码

    根据Documentation - Function Reference - Chr()

      

    返回与ASCII码对应的字符。

    • "变为:

      $sString = Chr(34)

    • 34为the " -sign's ASCII code,因此This is a "quoted" string.成为:

      $sString = "This is a " & Chr(34) & "quoted" & Chr(34) & " string."

    • 或按StringFormat()

      $sString = StringFormat("This is a %squoted%s string.", Chr(34), Chr(34))

  4. Related