AutoHotkey 脚本:自动为中文文本添加标点符号
#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
}
注意:这个脚本仅仅是一个简单的示例,可能无法处理所有情况。如果需要更加精确的标点处理,请使用自然语言处理库来实现。
原文地址: https://www.cveoy.top/t/topic/nrw3 著作权归作者所有。请勿转载和采集!