Autohotkey:如何在字符串中添加撇号(“)

时间:2020-05-11 19:04:02

标签: autohotkey

我有一个带有以下内容的自动快捷脚本:

IfInString, pp_text, %A_Space%
                {
                    pp_text := %pp_text%                                    
                }               

因此,如果%pp_text%包含一个空格,我想在开头和结尾处添加“

示例: pp_text =你好世界 然后应该成为 pp_text =“ Hello World”

我该怎么做

2 个答案:

答案 0 :(得分:1)

您通过在引号旁边加上另一个引号来escape,并且您concatenate与串联运算符.一起使用,但实际上,您也可以仅在99%的时间省略该运算符。

脚本中需要修复的其他内容:
摆脱该旧版本已弃用的超级命令,而使用InStr()
在表达式中时,只需输入变量名称即可引用变量。您正在使用的双%是引用变量的传统方式。
因此,这在旧版命令中是正确的,但在现代:=分配中却不正确。
而且,您也可以在单行if语句中省略括号。但这当然会降低个人喜好。

完整脚本:

If (InStr(pp_text, A_Space))
    pp_text := """" pp_text """" 

由于两个引号之间有四个引号,因此我们在键入字符串。

答案 1 :(得分:1)

expression中的变量名不包含在百分号中

因此,文字字符串必须用双引号引起来 区别变量。

包括实际的报价字符 在文字字符串中,指定两个连续的引号,如两次所示 在此示例中:“她说,”“每天要吃一个苹果。””。

pp_text := "Hello World"

If InStr(pp_text, " ")
    pp_text := """Hello World"""
MsgBox  % pp_text

编辑:

要在输出表达式中使用变量的名称(而不是其文字文本),您需要四个引号,如用户0x464e 所述。

pp_text := "Hello World"

If InStr(pp_text, " ")
    pp_text := """" pp_text """"
MsgBox  % pp_text