|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 分享:截取字N长度的字符串
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
5545
人关注过本帖
标题:
分享:截取字N长度的字符串
只看楼主
加入收藏
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
335
帖 子:9841
专家分:27213
注 册:2012-2-5
第
21
楼
收藏
得分:0
以下是引用
红星二锅头
在2017-2-27 14:37:51的发言:
fopen(),fread(),fseek() 有容量 (Sizes) 限制的,小于、等于 64KB,不能处理 MB 级的大小。
截取字符不可能取MB级字节的字符的,截取10000以内字节的字符是没问题的。
坚守VFP最后的阵地
2017-02-27 19:01
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10607
专家分:43186
注 册:2014-5-20
第
22
楼
收藏
得分:0
回复 20楼 qingfameng
随便找个EXE文件试也可以,每行显示16个字节。
2017-02-27 19:34
举报帖子
使用道具
赠送鲜花
mywisdom88
等 级:
版主
威 望:
191
帖 子:3147
专家分:8408
注 册:2015-3-25
第
23
楼
收藏
得分:0
以下是引用
qingfameng
在2017-2-27 18:48:00的发言:
如果吹版能给出一篇有各种字符,也有乱码的文件,我测试一下自己搞的那段代码,看看是否可行? 代码是很早时候受kiff 版主的启发,而搞得。
也用是substr(left())这样的方式?
没想到,这个问题,认真讨论,还有这么多情况。
2017-02-28 08:58
举报帖子
使用道具
赠送鲜花
wengjl
等 级:
贵宾
威 望:
109
帖 子:2214
专家分:3882
注 册:2007-4-27
第
24
楼
收藏
得分:0
这是取1-N个字符。
如果是取N-M个字符呢?前后都有可能出现半个汉字的可能。
只求每天有一丁点儿的进步就可以了
2017-02-28 09:09
举报帖子
使用道具
赠送鲜花
kiff
来 自:广州
等 级:
贵宾
威 望:
46
帖 子:756
专家分:2531
注 册:2013-1-30
第
25
楼
收藏
得分:0
回复 24楼 wengjl
Str1 = "12345人发可个方和方经品他三方登山泛水多福多寿辅导费对方012345678901nLen1-1456789"
nLen1=32
nStart=7 &&起始位置
nStart=LEN(SUBSTRC(SUBSTR(str1,1,nStart-1),1))+1
&&修正起始位置
?SUBSTRC(SUBSTR(str1,nStart,nLen1),1)
&&遇到取的最后1位是双字节的第1位时,舍去.
?SUBSTR(str1,nStart,2*nLen1-LEN(SUBSTRC(SUBSTR(str1,nStart,nLen1),1))) &&遇到取的最后1位是双字节的第1位时,取多1位.
2017-02-28 11:06
举报帖子
使用道具
赠送鲜花
qingfameng
等 级:
贵宾
威 望:
35
帖 子:964
专家分:3019
注 册:2010-2-6
第
26
楼
收藏
得分:0
回复 24楼 wengjl
取1-N个字符,字符总长度是一个正整数,取 M-N 个字符,其总长度还是一个正整数,2者应该无区别,都是从1开始取定量的字节。
2017-02-28 20:46
举报帖子
使用道具
赠送鲜花
wengjl
等 级:
贵宾
威 望:
109
帖 子:2214
专家分:3882
注 册:2007-4-27
第
27
楼
收藏
得分:0
以下是引用
kiff
在2017-2-28 11:06:28的发言:
Str1 = "12345人发可个方和方经品他三方登山泛水多福多寿辅导费对方012345678901nLen1-1456789"
nLen1=32
nStart=7 &&起始位置
nStart=LEN(SUBSTRC(SUBSTR(str1,1,
nStart-1
),1))+1
&&修正起始位置
?SUBSTRC(SUBSTR(str1,nStart,nLen1),1)
&&遇到取的最后1位是双字节的第1位时,舍去.
?SUBSTR(str1,nStart,2*nLen1-LEN(SUBSTRC(SUBSTR(str1,nStart,nLen1),1))) &&遇到取的最后1位是双字节的第1位时,取多1位.
这里是眼观后,从7开始是nStart-1, 如果是8位开始 nStart-1 就又不对了。
用一楼的办法判断二个点是可以解决的。
只求每天有一丁点儿的进步就可以了
2017-03-01 07:44
举报帖子
使用道具
赠送鲜花
kiff
来 自:广州
等 级:
贵宾
威 望:
46
帖 子:756
专家分:2531
注 册:2013-1-30
第
28
楼
收藏
得分:0
以下是引用
wengjl
在2017-3-1 07:44:30的发言:
这里是眼观后,从7开始是nStart-1, 如果是8位开始 nStart-1 就又不对了。
用一楼的办法判断二个点是可以解决的。
没问题的,关键是修正这句
nStart=LEN(SUBSTRC(SUBSTR(str1,1,nStart-1),1))+1 ,当从7开始时,修正后nStar的值是6,就是从“人”字开始截取,当从8开始时(刚好是从“发”字开始截取),修正后nStar的值仍然是8.
2017-03-01 10:48
举报帖子
使用道具
赠送鲜花
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
335
帖 子:9841
专家分:27213
注 册:2012-2-5
第
29
楼
收藏
得分:0
用前导字节函数判断最后一个字节的字符是否为全角字符
坚守VFP最后的阵地
2021-03-14 21:27
举报帖子
使用道具
赠送鲜花
29
3/3页
1
2
3
快速回复:
分享:截取字N长度的字符串
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.022365 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved