; 正则方法请查看:正则匹配返回中文汉字符位置.ahk /* ; 方法一 ; 如何用ahk 区分中文和英文 检测单字符 := "t" MsgBox % Asc(检测单字符) ; 结果 <= 255,就是英文 未知的记录:"[\u4e00-\u9fa5]" [a-zA-Z] ; 包含英文字符【返回非零就是包含】 char := "abc" MsgBox % char~="[\x00-\xff]" ; 包含非英文字符【返回非零就是包含】 char := "abc测试" MsgBox % char~="[[:^ascii:]]" */ ; 方法二:转utf-8之后可以判断字节数与字符数是否相等 s1 = US392033.pdf s2 = 这是书.pdf s3 = abcde s = ( s1 = {} 字符串长度: {} utf-8字节长度: {} s2 = {} 字符串长度: {} utf-8字节长度: {} s3 = {} 字符串长度: {} utf-8字节长度: {} ) if (StrLen(s2) != StrPut(s2, "utf-8") - 1) { MsgBox, % "存在非ascii符号 " StrLen(s2) " - " StrPut(s2, "utf-8") - 1 } ;~ strput 目测会加上终结符, 故长度-1 MsgBox, % Format(s , s1, StrLen(s1), StrPut(s1, "utf-8") - 1 , s2, StrLen(s2), StrPut(s2, "utf-8") - 1 , s3, StrLen(s3), StrPut(s3, "utf-8") - 1)
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)