| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1236 人关注过本帖, 1 人收藏
标题:请教各位一个截取字符的问题
只看楼主 加入收藏
nocooldown
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-3-7
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:26 
请教各位一个截取字符的问题
小弟菜鸟一枚,请各位高人不吝赐教,非常感谢!!

现有一数据库,只有一字段,格式大致如下:

Democratic Progressive Party 民进党
problems facing agriculture, rural areas and farmers 农业、农村和农民问题
six categories of small projects for rural areas (water-efficient irrigation, potable water supplies, roads, methane production facilities, hydroelectric plants and pasture enclosure)农村"六小工程"
relief subsidies扶贫基金

现在想把中文和英文分别截取开来放到另外两个字段里。
我的思路是做循环,逐个判断是否非全角(ASC<128),直到有汉字停止,根据返回的值来截取。但是如果前面的英语中有类似第三行这样的符号或者>128的全角符号就会造成提前停止循环,返回的值不正确(偏小)。请问如何避免?另外我觉得我这个办法好笨,是否有更好的办法或强力的函数可用?
搜索更多相关主题的帖子: facilities supplies problems farmers plants 
2014-03-07 17:39
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
测试一下全角字符的值  给他踢出去

DO IT YOURSELF !
2014-03-07 17:50
nocooldown
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-3-7
收藏
得分:0 
以下是引用wp231957在2014-3-7 17:50:37的发言:

测试一下全角字符的值  给他踢出去

就是说,还是建议用逐个字符判断的办法吗?
2014-03-07 17:53
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
也就逗号句号引号惊叹号啥的

后正我觉得没啥太好的办法

DO IT YOURSELF !
2014-03-07 17:57
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
要不然就从后往前扫描  扫到笫一个AscII字符分界

DO IT YOURSELF !
2014-03-07 17:58
nocooldown
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-3-7
收藏
得分:0 
以下是引用wp231957在2014-3-7 17:58:56的发言:

要不然就从后往前扫描  扫到笫一个AscII字符分界

呃,不行呢,比如第三行那样,中文里也夹有ASCII字符的,很可恶。。。
2014-03-07 18:01
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:4 
先把文本放到一个文件中,例如:j:\test.txt中,然后用将字符取出到m_str字符串中:
m_str=FILETOSTR("j:\test.txt")
?CHRTRAN(m_str,",()'  'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyx","")
?CHRTRAN(m_str,CHRTRAN(m_str,",()'  'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyx",""),"")

相互学习,互相交流,共同提高。
2014-03-07 18:04
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
那你咋界定呢??
要不你就先处理原始数据  让它有规律一些

DO IT YOURSELF !
2014-03-07 18:04
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
分别置换到字段中就是了。

相互学习,互相交流,共同提高。
2014-03-07 18:05
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
要不然就从后往前扫描  扫到笫一个AscII字符分界

DO IT YOURSELF !
2014-03-07 18:05
快速回复:请教各位一个截取字符的问题
数据加载中...
 
   



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

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