0

だから私は現在、次のコードを持っています:

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

動作しているようですが、5つの電子メールアドレスを強調表示すると、それぞれが電子メールアドレスの別の行に送信されるように取得しようとしています-メモ帳ウィンドウ。

4

1 に答える 1

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
  }
}

上記のサンプルを参照してください。テストされていません。

于 2013-01-14T04:41:43.790 に答える