中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 18:12
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 再谈截取字符(全面版)::: 查看 994 回复 1
楼 主 再谈截取字符(全面版)::: 发表于 2008-03-13 14:21 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
  关于字符截取命令这阵子大家都有所议论,我也再说上几句关于对字符命令的理解(全面版):
  所谓字符截取就是从一串字符中提取自己想要的字符,命令形式为%a:~b,c%,其中a表示字串符,b为可正可负可为0的整数,c为可负可正的整数。
  当b为负数时表示截取时丢弃(或忽略)a字符串中除了后面b个字符的所有字符,当b为0和正数时表示截取时丢弃a字符串中b位前(含b位)的所有字符,当c为负数时表示截取时丢弃a字符串后面c个字符,当c为正数时表示截取时从提取的第一个字符(具体由a定)向后c位后的所有字符。
注意当b,c都为负数时,|b|应大于|c|。
  再举例如下:
  如 a=123456789
截取命令    提取的字符 错误所在
%a:~-2,0% 无 c不能为0
  %a:~0,0% 无       c不能为0
%a:~4,0% 无 c不能为0          
  %a:~-3,-4%    无 |b|<|c|
%a:~-2%(无c)  89
%a:~2%(无c)   3456789
%a:~,2%(无b)  12
%a:~,-2%(无b) 1234567
%a:~-60,2% 12
%a:~-60,80% 123456789
%a:~-6,-2% 4567
%a:~0,-4%    12345
%a:~0,4% 1234
  %a:~3,-2%    4567
%a:~2,5% 34567
%a:~2,40%    3456789

[ Last edited by zw19750516 on 2008-3-18 at 01:01 AM ]
2 发表于 2008-03-16 19:12 ·  中国 江苏 移动
新手上路
积分 10
发帖 5
注册 2008-03-08 22:18
18年会员
UID 112423
性别 男
状态 离线
学习了,谢谢
论坛跳转: