标题: [文本处理] 【已解决】批处理怎样将文本中指定的字符进行的替换(中间还涉及到变量延迟)? [打印本页]
作者: jian123ch 时间: 2014-10-11 16:15 标题: 【已解决】批处理怎样将文本中指定的字符进行的替换(中间还涉及到变量延迟)?
本帖最后由 jian123ch 于 2014-10-11 23:14 编辑
有一名为test2.txt的文本,内容如下:
37 赵大 男 18 14.5 34 24 90.5 1
13 钱二二 男 18 15 34.5 22 89.5 2
11 孙小小 女 16 15.5 30.5 27 89 3
14 李四四 女 18 15 30.5 23 86.5 4
15 张三三 男 16 16 31 23 86 5
9 李四七 女 18 12 32 23 85 6
35 王二小 男 18 15 28.5 23 84.5 7
要将文中“女”全部替换成"男",然后将替换前与替换后以行行对应的形式输出在屏幕上如下所示:
37 赵大 男 18 14.5 34 24 90.5 1
37 赵大 男 18 14.5 34 24 90.5 1
=================================================================
13 钱二二 男 18 15 34.5 22 89.5 2
13 钱二二 男 18 15 34.5 22 89.5 2
=================================================================
11 孙小小 男 16 15.5 30.5 27 89 3
11 孙小小 男 16 15.5 30.5 27 89 3
=================================================================
14 李四四 男 18 15 30.5 23 86.5 4
14 李四四 男 18 15 30.5 23 86.5 4
=================================================================
15 张三三 男 16 16 31 23 86 5
15 张三三 男 16 16 31 23 86 5
=================================================================
9 李四七 男 18 12 32 23 85 6
9 李四七 男 18 12 32 23 85 6
=================================================================
35 王二小 男 18 15 28.5 23 84.5 7
35 王二小 男 18 15 28.5 23 84.5 7
=================================================================
我的代码如下:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (test2.txt) do (
- @echo %%i
- set strtmp=%%i
- set strtmp=%strtmp:女=男%
- @echo !strtmp!
- @echo ======================================================================
- )
复制代码
可是运行的结果,总是不能正确替换,结果如下:
37 赵大 男 18 14.5 34 24 90.5 1
ECHO 处于关闭状态。
=================================================================
13 钱二二 男 18 15 34.5 22 89.5 2
ECHO 处于关闭状态。
=================================================================
11 孙小小 男 16 15.5 30.5 27 89 3
ECHO 处于关闭状态。
=================================================================
14 李四四 男 18 15 30.5 23 86.5 4
ECHO 处于关闭状态。
=================================================================
15 张三三 男 16 16 31 23 86 5
ECHO 处于关闭状态。
=================================================================
9 李四七 男 18 12 32 23 85 6
ECHO 处于关闭状态。
=================================================================
35 王二小 男 18 15 28.5 23 84.5 7
ECHO 处于关闭状态。
=================================================================
还请各位大虾分析原因,指出错误所在,并给予更正,谢谢!
作者: terse 时间: 2014-10-11 20:22
回复 1# jian123ch 复制代码
作者: jian123ch 时间: 2014-10-11 23:13
已解决,谢谢楼上的大侠!!!不过得装代码修改为复制代码
作者: apang 时间: 2014-10-12 00:40
变性,就这么简单,呵呵
如果有个叫做 白毛女 的人,名字也要改成 白毛男 吗?
作者: jian123ch 时间: 2014-10-12 01:29
纯粹的练习用的。呵。。呵。。见笑了!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |