微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Autohotkey Format 中,ListBox 的输出?

如何解决在 Autohotkey Format 中,ListBox 的输出?

在 Autohotkey 中,我有以下代码

^r::
Gui,Add,ListBox,Multi vMyListBox r10,Strawberries|Pears|Oranges|`r|Beans|Peas|Tomatoes|Turnips|
Gui,Button,Default,OK
Gui,Show
return

ButtonOK:
    Gui,Submit
    MsgBox % MyListBox
    send,% MyListBox
return

输出是,例如:

Strawberries|Beans|Turnips

但我希望它是:

Strawberries,Beans,Turnips,

我应该如何进行?

提前致谢

解决方法

听起来像是RegEx的工作。

使用 RegExReplace() 和 MyListBox 变量作为大海捞针和“\|”作为针。有关此特定 RegEx 针的说明,请参阅 this interactive

将字符串的替换版本保存在名为 NewStr 的变量中为我们提供了以下代码行:

NewStr := RegExReplace(MyListBox,"\|",Replacement := ",")

当前代码:

^r::
Gui,Add,ListBox,Multi vMyListBox r10,Strawberries|Pears|Oranges|`r|Beans|Peas|Tomatoes|Turnips|
Gui,Button,Default,OK
Gui,Show
return

ButtonOK:
    Gui,Submit
    MsgBox % MyListBox
    NewStr := RegExReplace(MyListBox,")
    MsgBox % NewStr
    send,% NewStr
return

然而,这个版本没有添加尾随的“,”。为了添加这个,让我们在刚刚用 NewStr.=","

创建的 NewStr 变量中添加一个“,”

最终代码:

^r::
Gui,")
    NewStr.=","
    MsgBox % NewStr
    send,% NewStr
return

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。