在自动热键中,我有以下代码:
^r::
Gui, Add, ListBox, Multi vMyListBox r10, Strawberries|Pears|Oranges|`r|Beans|Peas|Tomatoes|Turnips|
Gui, Add, Button, Default, OK
Gui, Show
return
ButtonOK:
Gui, Submit
MsgBox % MyListBox
send, % MyListBox
return
输出为,例如:
Strawberries|Beans|Turnips
但我希望它是:
Strawberries, Beans, Turnips,
我应该如何继续?
提前感谢
听起来像是RegEx的工作。
使用RegExReplace((和MyListBox变量作为haystack\|"作为针。有关此特定RegEx针头的解释,请参阅此互动。
将替换后的String版本保存在一个名为NewStr
的变量中,可以得到以下代码行:
NewStr := RegExReplace(MyListBox, "|" , Replacement := ", ")
当前代码:
^r::
Gui, Add, ListBox, Multi vMyListBox r10, Strawberries|Pears|Oranges|`r|Beans|Peas|Tomatoes|Turnips|
Gui, Add, Button, Default, OK
Gui, Show
return
ButtonOK:
Gui, Submit
MsgBox % MyListBox
NewStr := RegExReplace(MyListBox, "|" , Replacement := ", ")
MsgBox % NewStr
send, % NewStr
return
然而该版本不添加尾随的"&";。为了添加这个,让我们只添加一个"到我们刚刚用NewStr.=", "
创建的NewStr变量
最终代码:
^r::
Gui, Add, ListBox, Multi vMyListBox r10, Strawberries|Pears|Oranges|`r|Beans|Peas|Tomatoes|Turnips|
Gui, Add, Button, Default, OK
Gui, Show
return
ButtonOK:
Gui, Submit
MsgBox % MyListBox
NewStr := RegExReplace(MyListBox, "|" , Replacement := ", ")
NewStr.=", "
MsgBox % NewStr
send, % NewStr
return