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

[文本处理] 批处理怎样替换文本序号?

本帖最后由 1e3e 于 2014-7-25 18:08 编辑

如附件excel表,我想excel可能做不了,所以发到批处理来,
A列:
一、第一部分
(一)床上用品
1、被子枕头
2、其它
(二)沙发
1、购买皮质沙发
3、其它
(三)桌椅
1、大桌子
5、其他
(四)煤气
1、买气费
2、维修费
二、第二部分
(一)教育投入
1、接送小孩的交通费
2、学杂费
3、购买文具
6、请家教
7、教育的其它支出
(二)医疗卫生
1、卫生投入
4、医保等支出
5、其他
三、第三部分
(三)社交费用
1、梳妆费
4、其他

J列:
1
1.1
1.1.1
1.1.2
1.2
1.2.1
1.2.3
1.3
1.3.1
1.3.5
1.4
1.4.1
1.4.2
2
2.1
2.1.1
2.1.2
2.1.3
2.1.6
2.1.7
2.2
2.2.1
2.2.4
2.2.5
3
3.1
3.1.1
3.1.4

如何用批处理做到?

应该怪我没说明白,请大大们再看下我新上传的附件,
要求:即A列从第10格开始变为r列第10格模样,
1、里面具体项目名称“某某项目”按其出现顺序变为“某某项目1","某某项目2"等,
2、a列我已经统一转为半角格式
3、对于a33为空值的,要变为r33"空白值"


4、
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

回复 2# CrLf


    请大大再看下

TOP

回复 6# 1e3e


    已注释,应该很详细了,有基础就能看明白

TOP

暴力思路:
CrLf 发表于 2014-7-21 18:08

很暴力很强大,能否详细注释一下,我还有其它类似格式以便修改

TOP

Excel的精髓是公式函数,Lz对公式的了解太少了。一个公式解决:
=SUBSTITUTE(A6,LEFT(A6,IF(ISERROR(SEARC ...
zhanglei1371 发表于 2014-7-22 10:43



    你只能由A列达到J列的效果,如果能用EXCEL做到是最好的

TOP

Excel的精髓是公式函数,Lz对公式的了解太少了。一个公式解决:
=SUBSTITUTE(A6,LEFT(A6,IF(ISERROR(SEARC ...
zhanglei1371 发表于 2014-7-22 10:43

或许我没说明白,j列是要达到的效果,
也就是说只能凭a列达到j列效果

TOP

Excel的精髓是公式函数,Lz对公式的了解太少了。一个公式解决:
=SUBSTITUTE(A6,LEFT(A6,IF(ISERROR(SEARCH("、",A6)),SEARCH(")",A6),SEARCH("、",A6))),J6 & " ")
K列便是生成的数据:
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

本帖最后由 CrLf 于 2014-7-24 18:42 编辑

暴力思路:
  1. @echo off&setlocal enabledelayedexpansion
  2. rem 基本思路是将所有数字理解为 a b c 三部分,然后...
  3. set "list=@一二三四五六七八九"
  4. for /l %%a in (1 1 9) do (
  5. set [!list:~%%a,1!]=set /a a=%%a,b=c=0
  6.            rem 将 [一] ~ [九] 设为变量,引用其值会将 a 设为对应数字,b 和 c 置 0
  7. set [(!list:~%%a,1!]=set /a b=%%a,c=0
  8.            rem 将 [(一] ~ [(九] 设为变量,引用其值会将 b 设为对应数字,c 置 0
  9. set [%%a]=set c=%%a
  10.            rem 将 [1] ~ [9] 设为变量,引用其值会将 c 设为对应数字
  11. )
  12. for /f "delims=)、" %%a in (a.txt) do (
  13.            rem 以 ) 、 分割字符串,获取行首数字
  14. for %%b in ("![%%a]!") do %%~b
  15.            rem 在变量中引用相应变量,执行其值,效果见上文描述
  16. set str=!a!.!b!.!c!
  17.            rem 连接 a b c 变量
  18. echo !str:.0=!
  19.            rem 显示不为 0 的部分
  20. )
  21. pause
复制代码
1

评分人数

    • 1e3e: 乐于助人技术 + 1

TOP

返回列表