我有一个 AutoHotkey 脚本:
IfInString, pp_text, %A_Space%
{
pp_text := %pp_text%
}
因此,如果 %pp_text% 包含空格,我想在开头和结尾添加 "
示例: pp_text = 你好世界 那么应该变成 pp_text =“你好世界”
我该怎么做?
您可以通过在其旁边放置另一个引号来“转义”引号,然后使用连接运算符 .
进行“连接”,但实际上 99% 的情况下您也可以省略该运算符。
脚本中需要修复的其他问题:
摆脱那个超级不推荐使用的遗留命令并使用
InStr()
代替。
当您在表达式中时,只需键入变量名称即可引用该变量。您使用的那些双
%
是引用变量的传统方式。
因此,它在旧命令中是正确的,但在现代 :=
完整脚本:
If (InStr(pp_text, A_Space))
pp_text := """" pp_text """"
外部两个引号后的四个引号指定我们正在输入一个字符串。
中的变量名称不包含在百分号中。 因此,文字字符串必须用双引号括起来 将它们与变量区分开来。
包含实际的引号字符 在文字字符串内,指定两个连续的引号,如所示两次 在这个例子中:“她说,”“每天一个苹果。”””。
编辑:
pp_text := "Hello World" If InStr(pp_text, " ") pp_text := """Hello World""" MsgBox % pp_text
要在输出表达式中使用变量的名称(而不是其文字文本),您需要四个引号,如user 0x464e
所解释的那样。
pp_text := "Hello World"
If InStr(pp_text, " ")
pp_text := """" pp_text """"
MsgBox % pp_text
在我的 AHK v2 安装中,这会导致错误,并且 AHK 拒绝保存编辑后的脚本。查阅官方文档