| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3304 人关注过本帖
标题:如何识别汉字和字母
只看楼主 加入收藏
bccn0906
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:蜘蛛侠
威 望:2
帖 子:414
专家分:1183
注 册:2013-10-16
收藏
得分:2 
1、识别最后的一个是否汉字
regex = CreateObject("VBScript.RegExp")
regex.Pattern ="^([\u4e00-\u9fa5]){1,8}$"
nstr=RIGHTC('中华人民共和国',1)
IF regex.test(nstr)
    MESSAGEBOX('是汉字')
else
    MESSAGEBOX('非汉字')
ENDIF
RELEASE regex
2、但看楼主提这样的问题,可能是想截取字符串,如是这样就只需识别“全角”和“半角”
如:每截取9个字符的字符串:
STR='中华人民共和国11AB1234中华人民共和国11AB1234中华人民共和国11AB1234'
I=1
L=9
STR1=''
*******************************
i=I+LEN(STR1)
STR1=SUBSTRC(SUBSTR(STR,I,L),1) &&取第1段
?STR1
*****************************
i=I+LEN(STR1)
STR1=SUBSTRC(SUBSTR(STR,I,L),1) &&取第2段
?STR1
*******************************
i=I+LEN(STR1)
STR1=SUBSTRC(SUBSTR(STR,I,L),1) &&取第3段
?STR1
*按此类推......
if empty(STR1)
    wait wind '截取完毕'
endif


2013-12-10 08:20
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用TonyDeng在2013-12-9 16:14:11的发言:

你看看
? LEN(RIGHT("中國",1))
的結果是什麼?
邓版,我写的是RIGHTC,不是RIGHT。
2013-12-10 08:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
哦~

授人以渔,不授人以鱼。
2013-12-10 11:31
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
各位大师,我的本意就是一段字符很长,如40个字符,只取1-10个字符,就是最后一个字符出现半角"?",判别不了取不好。
2013-12-11 18:18
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
论坛上有这方面的内容自己找吧

坚守VFP最后的阵地
2013-12-11 18:50
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用asdf_123000在2013-12-11 18:18:55的发言:

各位大师,我的本意就是一段字符很长,如40个字符,只取1-10个字符,就是最后一个字符出现半角"?",判别不了取不好。
先取要取的最后一个字符(如第10个),读取这年字符的ASC码,如果大于127,则取11个字符,否则就取10个字符。这个思路的前提是字符串中不存在制表符,因为现在用制表符的人几乎没有了。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-12-11 20:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
都不看前面回覆的。讀明白了17所說的,結合前面所給的代碼,自然知道這個問題怎麼思考、如何解決。

[ 本帖最后由 TonyDeng 于 2013-12-11 21:21 编辑 ]

授人以渔,不授人以鱼。
2013-12-11 21:05
bccn0906
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:蜘蛛侠
威 望:2
帖 子:414
专家分:1183
注 册:2013-10-16
收藏
得分:2 
以下是引用asdf_123000在2013-12-11 18:18:55的发言:

各位大师,我的本意就是一段字符很长,如40个字符,只取1-10个字符,就是最后一个字符出现半角"?",判别不了取不好。
画人像,连他的肠都画出来给你看了,还不明白吗

STR='各位大师,我的本意就是一段字符很长,如40个字符,只取1-10个字符,就是最后一个字符出现半角"?",判别不了取不好。'
STR1=SUBSTRC(SUBSTR(STR,1,10),1) &&只取1-10个字符

看看这样可以否
2013-12-11 23:21
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
楼主啊,不知道说你啥了,看来你没仔细研读过取子串的那几个函数呀。其实,很简单的,如果要取头10个字符:LEFTC(字符串,10),取最后10个字符:RIGHTC(字符串,10)。取双字节子串的函数是单双字节通吃的。也就是说,取双字节子串的函数可以用在全部是纯单字节内容的字符串上的。明白了吗?
2013-12-12 09:03
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
大师们,第一次的内容就很清楚了,第二次提问,就是想更多的听取大师的指点,让我等水平的人多学点。谢谢了
2013-12-12 10:28
快速回复:如何识别汉字和字母
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016667 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved