标题: [文本处理] 批处理怎样替换文本序号? [打印本页]
作者: 1e3e 时间: 2014-7-21 17:37 标题: 批处理怎样替换文本序号?
本帖最后由 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、
作者: CrLf 时间: 2014-7-21 18:08
本帖最后由 CrLf 于 2014-7-24 18:42 编辑
暴力思路:- @echo off&setlocal enabledelayedexpansion
- rem 基本思路是将所有数字理解为 a b c 三部分,然后...
-
- set "list=@一二三四五六七八九"
-
- for /l %%a in (1 1 9) do (
- set [!list:~%%a,1!]=set /a a=%%a,b=c=0
- rem 将 [一] ~ [九] 设为变量,引用其值会将 a 设为对应数字,b 和 c 置 0
- set [(!list:~%%a,1!]=set /a b=%%a,c=0
- rem 将 [(一] ~ [(九] 设为变量,引用其值会将 b 设为对应数字,c 置 0
- set [%%a]=set c=%%a
- rem 将 [1] ~ [9] 设为变量,引用其值会将 c 设为对应数字
- )
-
- for /f "delims=)、" %%a in (a.txt) do (
- rem 以 ) 、 分割字符串,获取行首数字
- for %%b in ("![%%a]!") do %%~b
- rem 在变量中引用相应变量,执行其值,效果见上文描述
- set str=!a!.!b!.!c!
- rem 连接 a b c 变量
- echo !str:.0=!
- rem 显示不为 0 的部分
- )
- pause
复制代码
作者: zhanglei1371 时间: 2014-7-22 10:43
Excel的精髓是公式函数,Lz对公式的了解太少了。一个公式解决:
=SUBSTITUTE(A6,LEFT(A6,IF(ISERROR(SEARCH("、",A6)),SEARCH(")",A6),SEARCH("、",A6))),J6 & " ")
K列便是生成的数据:
[attach]7452[/attach]
作者: 1e3e 时间: 2014-7-24 17:22
Excel的精髓是公式函数,Lz对公式的了解太少了。一个公式解决:
=SUBSTITUTE(A6,LEFT(A6,IF(ISERROR(SEARC ...
zhanglei1371 发表于 2014-7-22 10:43
或许我没说明白,j列是要达到的效果,
也就是说只能凭a列达到j列效果
作者: 1e3e 时间: 2014-7-24 17:24
Excel的精髓是公式函数,Lz对公式的了解太少了。一个公式解决:
=SUBSTITUTE(A6,LEFT(A6,IF(ISERROR(SEARC ...
zhanglei1371 发表于 2014-7-22 10:43
你只能由A列达到J列的效果,如果能用EXCEL做到是最好的
作者: 1e3e 时间: 2014-7-24 18:21
暴力思路:
CrLf 发表于 2014-7-21 18:08
很暴力很强大,能否详细注释一下,我还有其它类似格式以便修改
作者: CrLf 时间: 2014-7-24 18:42
回复 6# 1e3e
已注释,应该很详细了,有基础就能看明白
作者: 1e3e 时间: 2014-7-25 18:08
回复 2# CrLf
请大大再看下
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |