标题: [文本处理] 批处理怎样从文本中提取字符形成新文本? [打印本页]
作者: morerlee 时间: 2011-9-20 14:46 标题: 批处理怎样从文本中提取字符形成新文本?
提取数据急需,谢谢大侠!
a.txt
V C 41.42%(10v) tand 0.036 C0 Ce Tu Loss FOM Vmax
V C 49.4%(15v) tand 0.029 C0 Ce Tu Loss FOM Vmax
V C 53.9%(20v) tand 0.028 C0 Ce Tu Loss FOM Vmax
V C 57.13%(25v) tand 0.029 C0 Ce Tu Loss FOM Vmax
效果如下:新文本
c.txt
41.42%(10v) 0.036
49.4%(15v) 0.029
53.9%(20v) 0.028
57.13%(25v) 0.029
作者: hankerer 时间: 2011-9-20 14:53
本帖最后由 hankerer 于 2011-9-20 15:41 编辑
win7环境- @echo off
- SETLOCAL enabledelayedexpansion
- for /f "tokens=3,5 delims= " %%i in (a.txt) do (
- set "p=%%i %%j"
- echo !p!>>c.txt
- )
- pause
复制代码
作者: morerlee 时间: 2011-9-20 15:06
本帖最后由 morerlee 于 2011-9-20 15:15 编辑
回复 2# hankerer
出现的是下面的结果哦
0.036 C0 Ce Tu Loss FOM Vmax
0.029 C0 Ce Tu Loss FOM Vmax
0.028 C0 Ce Tu Loss FOM Vmax
0.029 C0 Ce Tu Loss FOM Vmax
作者: hankerer 时间: 2011-9-20 15:36
中间是空格分开的还是tab????
作者: morerlee 时间: 2011-9-20 15:44
回复 4# hankerer
Tab,反正就那么宽的距离,附件在后面,谢谢你咯先!
作者: hankerer 时间: 2011-9-20 15:49
- @echo off
- SETLOCAL enabledelayedexpansion
- for /f "tokens=3,5 delims= " %%i in (a.txt) do (
- set "p=%%i %%j"
- echo !p!>>c.txt
- )
- pause
复制代码
作者: morerlee 时间: 2011-9-20 16:02
本帖最后由 morerlee 于 2011-9-20 16:08 编辑
回复 6# hankerer
我用的是XP的系统 ,还是不行呀,你在你电脑上可以处理好么,我发了附件给你,你看下
有的地方是空格,有的地方是Tab
作者: hankerer 时间: 2011-9-20 16:15
- 41.42%(10v) 0.036
- 49.4%(15v) 0.029
- 53.9%(20v) 0.028
- 57.13%(25v) 0.029
- 62.19%(30v) 0.041
- 63.86%(32v) 0.064
- 42.65%(10v) 0.039
复制代码
处理的很好
作者: morerlee 时间: 2011-9-20 16:34
本帖最后由 morerlee 于 2011-9-20 16:39 编辑
回复 8# hankerer
就是要这个效果,怎么在我的电脑上处理不出来咧,delims= " 这里面是个空格还是Tab呀,我的里面的是的Tab,有的是空格,就出问题了,怎么把所有的都转换成空格或者Tab,按你第二个代码,如果文档里所有的地方都是Tab是成功的
作者: weichenxiehou 时间: 2011-9-20 17:04
- @echo off
- (for /f "tokens=3,5" %%i in (a.txt) do echo,%%i %%j)>c.txt
复制代码
for默认以空格和tab作为分隔符,所以没必要指定任何一个。
作者: morerlee 时间: 2011-9-20 18:08
谢谢二楼的朋友,更谢谢10楼的朋友
10楼的成功解决了我的问题,谢谢!
作者: hankerer 时间: 2011-9-20 20:04
for默认以空格和tab作为分隔符,所以没必要指定任何一个。
weichenxiehou 发表于 2011-9-20 17:04
惭愧
作者: cjiabing 时间: 2011-9-20 20:09
回复 12# hankerer
FOR就可以解决了。因为他给出的例子比较有规律,用FOR最拿手了。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |