求批处理修改文本文件,将某段内容替换为空

格式如下:要求将每行的第四段内容替换为空值,如:第1行的1.74,第二行的2.2,第三行的3.94,依此类推,每行的第四段都替换为空值,请问有解决办法吗?000001百事... 格式如下:要求将每行的第四段内容替换为空值,如:第1行的1.74,第二行的2.2,第三行的3.94,依此类推,每行的第四段都替换为空值,请问有解决办法吗?
000001 百事可乐355m 4716 1.74 2 ;
000002 百事可乐500m 2226 2.2 2.5 ;
000003 百事可乐1.25 8 3.94 4.5 ;
000004 百事可乐2L*6 781 5.79 6 ;
000005 百事激浪330m 74 1.93 2.5 ;
000006 百事激浪550m 1123 2.33 3 ;
000007 百事极度330m 59 1.75 2.5 ;
000008 百事极度500m 2.44 3 ;
000009 百事果缤纷热带4 -22 2.33 3 ;
000010 百事美年达葡萄5 1364 2.21 3 ;
000011 B5-40 16 200 1.2 2.8 ;
000012 百事果缤纷金橙香 36 2.33 3 ;
000013 百事果缤纷热带1 291 5.83 6.5 ;
000014 百事果缤纷哈密瓜 -6 5.33 6.5 ;
000015 百事果缤纷金橙香 282 5.76 6.5 ;
000016 百事美年达橙味3 3699 1.73 2.5 ;
000017 百事美年达葡萄3 295 1.73 2.5 ;
000018 百事美年达橙味5 595 2.21 3 ;
000019 百事美年达青苹果 122 2.21 3 ;
000021 百事七喜355m 9544 1.61 2.5 ;
000022 百事七喜500m -8 2.19 3 ;
000023 可口可乐330m 4683 1.72 2.5 ;
000024 可口可乐500m 583 2.1 3 ;
000025 可口可乐2.5L 109 3.85 6 ;
000026 可口醒目西瓜35 -15 1.71 2.5 ;
补充一下问题,每一行都有符合一个规则,规则如下:
每一行的第53个字符至第65个字符就是第四段内容,只要将第53至65个字符替换为0.0000就可以了。
展开
 我来答
lnzzxzy
2012-06-01 · TA获得超过8128个赞
知道小有建树答主
回答量:1316
采纳率:80%
帮助的人:755万
展开全部
将上面内容 复制 到 WORD 中选择性(文本)粘贴
选中内容 再转换为表格
再把相应的列给册除,再 复制 回来
(注意这行异常 000011 B5-40 16 200 1.2 2.8 ;

000001 百事可乐355m 4716 2 ;
000002 百事可乐500m 2226 2.5 ;
000003 百事可乐1.25 8 4.5 ;
000004 百事可乐2L*6 781 6 ;
000005 百事激浪330m 74 2.5 ;
000006 百事激浪550m 1123 3 ;
000007 百事极度330m 59 2.5 ;
000008 百事极度500m 2.44 ;
000009 百事果缤纷热带4 -22 3 ;
000010 百事美年达葡萄5 1364 3 ;
000011 B5-40 16 1.2 2.8 ;
000012 百事果缤纷金橙香 36 3 ;
000013 百事果缤纷热带1 291 6.5 ;
000014 百事果缤纷哈密瓜 -6 6.5 ;
000015 百事果缤纷金橙香 282 6.5 ;
000016 百事美年达橙味3 3699 2.5 ;
000017 百事美年达葡萄3 295 2.5 ;
000018 百事美年达橙味5 595 3 ;
000019 百事美年达青苹果 122 3 ;
000021 百事七喜355m 9544 2.5 ;
000022 百事七喜500m -8 3 ;
000023 可口可乐330m 4683 2.5 ;
000024 可口可乐500m 583 3 ;
000025 可口可乐2.5L 109 6 ;
000026 可口醒目西瓜35 -15 2.5 ;
追问
谢谢你方法,这个操作我也会,我是想用一个批处理文件,将这个文本文件中的内容批量替换,简化操作,谢谢你的提供的方法,不过不合适我用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wildo
2012-06-01 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:85
采纳率:100%
帮助的人:104万
展开全部
假定要处理的源文件是data.txt
处理后的目标文本是data2.txt
另外经观察
样例文本中的第四段内容不在你说的53~65个字符
而在每行的68~71列(与字符数无关)
所以代码略作调整如下:

@echo off & setlocal EnableDelayedExpansion
(for /f "delims=" %%l in (data.txt) do (
set 每一行=%%l
setlocal
for /l %%i in (0,1,85) do if not "!每一行:~%%i,1!"=="" (
set 当前字符=!每一行:~%%i,1!
if !列号! lss 65 set 前半行=!前半行!!当前字符!
if !列号! gtr 70 set 后半行=!后半行!!当前字符!
rem 如果当前列是中文则列号加2,否则是英文和数字,列号加1
if "!当前字符!" gtr "z" (set /a 列号+=2) else (set /a 列号+=1)
)
echo !前半行!0.0000!后半行!
endlocal
)) > data2.txt
pause
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xq1850
2012-06-01 · TA获得超过3790个赞
知道大有可为答主
回答量:3155
采纳率:76%
帮助的人:1553万
展开全部
楼上的大概可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
新加坡的人Xq
2012-06-01 · TA获得超过4350个赞
知道大有可为答主
回答量:2370
采纳率:42%
帮助的人:644万
展开全部
你这是用的什么软件?
追问
这是一个文本文件,里面的内容要批量修改。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式