标题: [文本处理] [已解决]批处理怎样合并一行文本中的多个空格为一个空格? [打印本页]
作者: byz001 时间: 2012-4-1 13:18 标题: [已解决]批处理怎样合并一行文本中的多个空格为一个空格?
本帖最后由 byz001 于 2012-4-11 12:30 编辑
a b c 合并前
a b c 合并后
只用批处理操作不用外部工具
那位高手解答下在线等赐教
作者: find 时间: 2012-4-1 13:30
- @echo off
- (for /f "tokens=1-3" %%a in (a.txt) do (
- echo,%%a %%b %%c
- ))>b.txt
复制代码
作者: byz001 时间: 2012-4-1 13:53
回复 2# find
好似b.txt输出内容为空啊
如果一行中有n个被不定数空格隔开的字符串呢又该怎么办
例如 a b c d..........................
作者: byz001 时间: 2012-4-1 14:30
本帖最后由 byz001 于 2012-4-1 14:31 编辑
没有人来解答下吗,在一个文本文件中,每行有“不定数量”字符串,每两个字符串被“不定数量”空格隔开
要把不定数量空格合并为一个空格该怎么做,
作者: apang 时间: 2012-4-1 15:00
- @echo off
- for /f "delims=" %%a in (a.txt) do (
- set str=
- call :lp %%a
- call echo,%%str:~1%%
- )
- pause&goto :eof
-
- :lp
- if not "%1"=="" set "str=%str% %1"&shift&goto lp
复制代码
作者: byz001 时间: 2012-4-1 15:33
回复 5# apang
能解释下吗,没看懂
作者: apang 时间: 2012-4-1 19:17
回复 6# byz001
你不说代码可不可行,怎么解释呢?
如果不能运行,解释也没有用。
作者: find 时间: 2012-4-1 21:33
回复 3# byz001
我当时做试验的时候好似b.txt输出内容不为空啊
作者: byz001 时间: 2012-4-1 21:52
本帖最后由 byz001 于 2012-4-1 21:54 编辑
程序运行结果屏显也没有,也沒输结果到文件,也没错误提示,所以没看懂,我系统是xp
作者: byz001 时间: 2012-4-1 22:04
回复 8# find
每一行有不定数个字符串这个方法好似不怎么方便
作者: find 时间: 2012-4-1 22:32
回复 10# byz001
是呀
希望以后有什么问题能在顶楼发帖的时候就说清楚
作者: terse 时间: 2012-4-2 02:33
本帖最后由 terse 于 2012-4-2 02:36 编辑
回复 10# byz001 - @echo off&setlocal enabledelayedexpansion
- (for /f "tokens=*" %%i in (a.txt) do (
- for %%j in ("%%i") do set str=!str! %%j
- echo!str!&set "str="
- ))>b.txt
复制代码
作者: byz001 时间: 2012-4-9 11:04
回复 5# apang
问题已解决,谢谢!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |