这里介绍两种方法:
一、正则提取法
山海插件中shanhai.RegexFind命令是可以实现正则匹配,这里中文匹配规则是[\128-\254]
如果想要匹配其他字符可以参考https://blog.csdn.net/suifcd/article/details/78928559
代码分享:
Dim m="你好囧犇hello 水电费world3aasdas50849638" Dim 汉字 Import "shanhai.lua" Dim s=shanhai.RegexFind(m,"[\128-\254]") For i = 0 To UBOUND(s) 汉字=汉字&s(i) Next TracePrint 汉字
二、区分字符长度的方法
通过len命令获取字符长度的时候,中文是占3个字符的,而其他数字、字母、符号都是1个字符,这样我们就可以通过字符的长度判断是不是中文了。
在按键精灵当中还有一个获取字符数目的命令就是utf8.len命令,这个命令对于中文和其他字符是不区分的,都是占1个字符。
利用这两个命令我们就可以把所有的字符逐一过滤,判断是不是中文字符。
代码分享:
Dim m=”你好囧犇hello 水电费world3aasdas50849638″
Dim 汉字,字符
For i = 1 To UTF8.Len(m)
字符 = UTF8.StrGetAt(m, i)
If Len(字符) = 3 Then 汉字=汉字&字符
End If
Next
TracePrint 汉字