所以我目前有以下代码:
f2::
SendInput, ^c
RegExMatch(clipboard, "[\w-_.]+@(?:\w+(?::\d+)?\.){1,3}(?:\w+\.?){1,2}", email)
WinActivate, emailaddresses - Notepad
SendInput, %email%`r
return
它似乎正在工作,但我正在尝试获取它,以便如果我突出显示 5 个电子邮件地址,它会将它们分别发送到电子邮件地址中的不同行 - 记事本窗口。
所以我目前有以下代码:
f2::
SendInput, ^c
RegExMatch(clipboard, "[\w-_.]+@(?:\w+(?::\d+)?\.){1,3}(?:\w+\.?){1,2}", email)
WinActivate, emailaddresses - Notepad
SendInput, %email%`r
return
它似乎正在工作,但我正在尝试获取它,以便如果我突出显示 5 个电子邮件地址,它会将它们分别发送到电子邮件地址中的不同行 - 记事本窗口。
如果您知道分隔符,则可以使用 StringSplit 并在其上运行您的函数。
来自http://www.autohotkey.com/docs/commands/StringSplit.htm
f2::
SendInput, ^c
;put your delimiter here, assuming space/tab for now
StringSplit, txtArray, clipboard, %A_Tab%%A_Space%
Loop, %txtArray0%
{
copyemail(txtArray%a_index%)
}
return
copyemail(sTxt) {
FoundPos := RegExMatch(sTxt, "[\w-_.]+@(?:\w+(?::\d+)?\.){1,3}(?:\w+\.?){1,2}", email)
if (FoundPos > 0) {
WinActivate, emailaddresses - Notepad
SendInput, %email%`r
}
}
见上面的样品,未经测试!