[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何在小于10(十)/只有一位数的数字前面补零/补0/添加0

本帖最后由 pcl_test 于 2016-11-18 21:32 编辑

用批处理将以下字符串中小于10的数子前加上0:

2,15,20,33,56,1,07,54,89,66,23,25,27,28,29,55,56,57,5,59,6,78,74,66,08,28,9,30,52,14,15,16,2,8,4,6,15,16,13,5,9

处理后的结果为:

02,15,20,33,56,01,07,54,89,66,23,25,27,28,29,55,56,57,05,59,06,78,74,66,08,28,09,30,52,14,15,16,02,08,04,06,15,16,13,05,09

处理后次序不能打乱,还是和处理前一样横排,不要竖排,不要分段!

[ 本帖最后由 RuiIsRui 于 2009-8-2 19:18 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2
天行健  君子以自强不息

  1. @echo off & setlocal enabledelayedexpansion
  2. set var=2,15,20,33,56,1,07,54,89,66,23,25,27,28,29,55,56,57,5,59,6,78,74,66,08,28,9,30,52,14,15,16,2,8,4,6,15,16,13,5,9
  3. for %%a in (%var%) do (
  4.   if 1%%a lss 20 (set var0=!var0!,0%%a) else set var0=!var0!,%%a
  5. )
  6. set var0=%var0:~1%
  7. echo %var0%
  8. pause
复制代码
1

评分人数

TOP

为了处理方便,请将字串存于a.txt
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3. echo 源串:%%a
  4. for %%b in (%%a) do (
  5. if 1%%b lss 100 (set var=0%%b) else set var=%%b
  6. set str=!str!,!var!
  7. )
  8. rem 如需要输出,请改为echo;!str:~1!>>file.txt&set str=
  9. echo;转换:!str:~1!&set str=
  10. )
  11. pause
复制代码

TOP

  1. sed -i -e "s/^\([1-9]\),/0\1,/g" -e "s/,\([1-9]\),/,0\1,/g" -e "s/,\([1-9]\),/,0\1,/g" -e "s/,\([1-9]\)$/,0\1/g" a.txt
复制代码
第三方命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-1114-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢2楼 tireless!
天行健  君子以自强不息

TOP

我也来一个
  1. @echo off & setlocal enabledelayedexpansion
  2. set var=2,15,20,33,56,1,07,54,89,66,23,25,27,28,29,55,56,57,5,59,6,78,74,66,08,28,9,30,52,14,15,16,2,8,4,6,15,16,13,5,9
  3. set "var=,!var:,=,,!,"
  4. for /l %%a in (0,1,9) do (set var=!var:,%%a,=,0%%a,!)
  5. set var=!var:~1,-1!
  6. set "var=!var:,,=,!"
  7. echo !var!
  8. pause
复制代码
1

评分人数

TOP

返回列表