AutoHotKey - 批量电子邮件过滤脚本无法正常运行

时间:2013-01-07 21:34:54

标签: autohotkey

所以我目前有以下代码:

f2::
SendInput, ^c
RegExMatch(clipboard, "[\w-_.]+@(?:\w+(?::\d+)?\.){1,3}(?:\w+\.?){1,2}", email)
WinActivate, emailaddresses - Notepad
SendInput, %email%`r
return

它似乎正在工作,但我正试图让它如此突出,如果我突出显示5个电子邮件地址,它会将它们分别发送到电子邮件地址 - 记事本窗口中的不同行。

1 个答案:

答案 0 :(得分:0)

如果你知道分隔符,你可以使用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
  }
}

见上面的示例,未经测试!