LOCAL lc中文,ln中文个数,lc英文,ln英文个数,lc空格,ln空格个数,lc数字,ln数字个数,lc其他字符,ln其他字符个数
STORE '' TO lc中文,lc英文,lc空格,lc数字,lc其他字符
STORE 0 TO ln中文个数,ln英文个数,ln空格个数,ln数字个数,ln其他字符个数
FOR I=1 TO LEN(lcString)
IF ISLEADBYTE(SUBSTR(lcString,I,1)) &&中文(中文及中文符号是双字节)
lc中文=lc中文+SUBSTR(lcString,I,2)
I=I+1
ln中文个数=ln中文个数+1
LOOP
ELSE
DO CASE
CASE UPPER(SUBSTR(lcString,I,1))$'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lc英文=lc英文+SUBSTR(lcString,I,1)
ln英文个数=ln英文个数+1
CASE SUBSTR(lcString,I,1)=SPACE(1)
lc空格=lc空格+SUBSTR(lcString,I,1)
ln空格个数=ln空格个数+1
CASE SUBSTR(lcString,I,1)$'1234567890'
lc数字=lc数字+SUBSTR(lcString,I,1)
ln数字个数=ln数字个数+1
OTHERWISE
lc其他字符=lc其他字符+SUBSTR(lcString,I,1)
ln其他字符个数=ln其他字符个数+1
ENDCASE
ENDIF
ENDFOR
?'此字符串中含有中文(含中文符号):',ALLTRIM(STR(ln中文个数)),'个。'
??'是:',lc中文
?'此字符串中含有英文字母:',ALLTRIM(STR(ln英文个数)),'个。'
??'是:',lc英文
?'此字符串中含有空格:',ALLTRIM(STR(ln空格个数)),'个。'
??'是:',lc空格
?'此字符串中含有数字:',ALLTRIM(STR(ln数字个数)),'个。'
??'是:',lc数字
?'此字符串中其他字符:',ALLTRIM(STR(ln其他字符个数)),'个。'
??'是:',lc其他字符