#NoEnv SendMode Input SetWorkingDir %A_ScriptDir%

Loop { ; 获取剪贴板中的文本 Clipboard = Send, ^c ClipWait

; 去掉换行符和空格
text := Trim(Clipboard, ' `r`n')

; 检查文本是否包含中文字符
if (RegExMatch(text, "\p{Han}"))
{
    ; 添加标点符号
    text := AddPunctuation(text)
    
    ; 将文本设置回剪贴板
    Clipboard := text
    Send, ^v
}

}

AddPunctuation(text) { ; 在句子末尾添加标点符号 text := RegExReplace(text, "(.*?)[。?!\n\r]+", "$1。")

; 在逗号前面添加空格
text := RegExReplace(text, "([^ ]),", "$1,")

; 在句号后面添加空格
text := RegExReplace(text, "([。?!])([^ ])", "$1 $2")

; 返回添加标点符号后的文本
return text

}

注意:这个脚本仅仅是一个简单的示例,可能无法处理所有情况。如果需要更加精确的标点处理,请使用自然语言处理库来实现。

AutoHotkey 脚本:自动为中文文本添加标点符号

原文地址: https://www.cveoy.top/t/topic/nrw3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录