如何快速分离奇偶行的文本?

一个 AutoHotKey 脚本,先 Ctrl + C 复制内容到剪贴板,之后按 F7 复制奇数行,F8 复制偶数行。

正则用在这个场景其实还有些麻烦,主要问题是需要处理不同的换行类型(LF, CRLF),以及注意最后一行可能没有换行符。正则参数前加 m) 是开启 multiline

参考: Regex to remove EVEN lines - Stack Overflow

F7:: 
 Var := Clipboard
 Odd := RegExReplace(Var, "m)^(.*)\r?\n.*(\r?\n|$)", "$1`n")
 SendInput, %Odd%

Return

F8:: 
 Var := Clipboard
 Even := RegExReplace(Var,"m)^.*\r?\n(.*)(\r?\n|$)", "$1`n")
 SendInput, %Even%
Return

效果
image

1 个赞