中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 23:42
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]统计字符串个数并以空格填充
可打印版本  830 / 8
第1楼 hgx126 发表于 2009-05-18 11:48
初级用户 发帖 80 积分 100
[求助]统计字符串个数并以空格填充
一文本文件,内容有多行,如下:


  各行字符串个数不等,且都少于30。我现在要将各行字符数目统一为30个,并将其中的逗号去掉。字符不足30个的以空格填充,填充位置就是逗号所在位置。填充好后文本内容如下:



求一批处理,处理以上文本。
求大家相助。
谢谢

[ Last edited by hgx126 on 2009-5-18 at 11:52 ]
第2楼 terse 发表于 2009-05-18 12:33
银牌会员 发帖 946 积分 2,404
第3楼 zh159 发表于 2009-05-18 12:56
金牌会员 发帖 1,467 积分 3,687
逗号后面的是固定的所以只要在逗号前补充空格截取就OK了
第4楼 hgx126 发表于 2009-05-18 13:26
初级用户 发帖 80 积分 100
谢谢两位。特别要感谢zh159兄提供的思路,太妙了。
再次感谢。
第5楼 hgx126 发表于 2009-05-20 13:43
初级用户 发帖 80 积分 100
另外,我还有个想法,要求每行字符也为30个,只是在每一行的行首加0填充,达到如下效果,又该如何处理:


[ Last edited by hgx126 on 2009-5-20 at 13:44 ]
第6楼 jmz573515 发表于 2009-05-20 20:58
银牌会员 发帖 464 积分 1,212
第7楼 hgx126 发表于 2009-05-20 21:45
初级用户 发帖 80 积分 100
echo !n:~-30!?就是从最右边向左取30位?
第8楼 yishanju 发表于 2009-05-21 01:35
银牌会员 发帖 1,357 积分 1,488
Originally posted by hgx126 at 2009-5-20 13:43:
另外,我还有个想法,要求每行字符也为30个,只是在每一行的行首加0填充,达到如下效果,又该如何处理:

000000000G00109016140120031118
0000000G474 ...


嗯嗯,大家的思路代码都很精妙,顺着大家的思路利用FR来处理:

首先在每行前面补22个0




然后截取逗号前22个字符和后面所有字符


[ Last edited by yishanju on 2009-5-21 at 23:30 ]
第9楼 yishanju 发表于 2009-05-21 02:02
银牌会员 发帖 1,357 积分 1,488
按一楼的处理。
逗号直接替换成N十个空格:


从行首截取22个字符和后面的8个数字。



FR 下载:http://baiy.cn/utils/fr/index.htm

[ Last edited by yishanju on 2009-5-21 at 04:08 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023