
标题: 如何去除文本中所有空格和空行(已解) [打印本页]
作者: bat-zw 时间: 2008-3-31 23:32 标题: 如何去除文本中所有空格和空行(已解)
===============================================
提示:********解决方案见三楼********
有a.txt,内容如下:CODE: [Copy to clipboard]
a d b d e jf ;k jdpopfd fkdlk ;
fksffjkla jsklfjkla j ksaljfkl jklsaj
ff f fff ffff ff ffff fff cccc cccccc ccc ccccccc
ddddd dq dqd fdkfjdk fjdskljg k;
======= ^^^^^****&&&&&&& ~!@#$%^&*(() : =
gjfdgkjk 'g
要通过批处理生成b.txt,内容如下:CODE: [Copy to clipboard]
adbdejf;kjdpopfdfkdlk;
fksffjklajsklfjklajksaljfkljklsaj
fffffffffffffffffffcccccccccccccccccccc
ddddddqdqdfdkfjdkfjdskljgk;
======= ^^^^^****&&&&&&&~!@#$%^&*(():=
gjfdgkjk 'g
我写了段代码,仅能处理到如下程度,望高人支招啊。CODE: [Copy to clipboard]
@echo off
if exist b.txt del b.txt
for /f "delims=" %%i in ('findstr .* a.txt') do (
set var=%%i
setlocal enabledelayedexpansion
if not "!var!"=="!var: =!" echo !var: =! >>b.txt
endlocal
)
start b.txt
CODE: [Copy to clipboard]
adbdejf;kjdpopfdfkdlk;
fksffjklajsklfjklajksaljfkljklsaj
ff f fff ffff ff ffff fffcccc cccccc ccc ccccccc
ddddddqdqdfdkfjdkfjdskljgk;
=======^^^^^****&&&&&&&~!@#$%^&*(() :=
gjfdgkjk'g
[ Last edited by zw19750516 on 2008-4-1 at 12:20 AM ]
作者: abcd 时间: 2008-3-31 23:48
======= ^^^^^****&&&&&&&~!@#$%^&*(():=
gjfdgkjk 'g
不需要去掉吗?
作者: 26933062 时间: 2008-3-31 23:53
:CODE: [Copy to clipboard]
@echo off
for /f "delims=" %%a in (a.txt) do (
set var=%%a
setlocal enabledelayedexpansion
set var=!var: =!
if not "!var!"=="" set var=!var: =!
if not "!var!"=="" echo !var!
endlocal
)
pause
作者: bat-zw 时间: 2008-3-31 23:55 标题: 看来都是汉字输入法的错!!!
如果是纯英名下生成的a.txt,我的代码应该是没问题的(测试了)。
但如果空格是汉字输入状态下生成的就挂了,是不是处理不了啊。
作者: bat-zw 时间: 2008-4-1 00:03
| Quote: |
Originally posted by 26933062 at 2008-3-31 23:53:
@echo off
for /f "delims=" %%a in (a.txt) do (
set var=%%a
setlocal enabledelayedexpansion
set var=!var: =!
if not "!var!"=="" set var=!var: ... |
|
是不是应该改为CODE: [Copy to clipboard]
@echo off
for /f "delims=" %%a in (a.txt) do (
set var=%%a
setlocal enabledelayedexpansion
set var=!var: =!
if not "!var!"=="" set var=!var: =!
echo.!var! >>b.txt
endlocal
)
但即使这样处理的结果仍有个空行在如下:CODE: [Copy to clipboard]
adbdejf;kjdpopfdfkdlk;
fksffjklajsklfjklajksaljfkljklsaj
fffffffffffffffffffcccccccccccccccccccc
ddddddqdqdfdkfjdkfjdskljgk;
=======^^^^^****&&&&&&&~!@#$%^&*(():=
gjfdgkjk'g
作者: 26933062 时间: 2008-4-1 00:04
3楼代码可以处理全角空格啊!
作者: bat-zw 时间: 2008-4-1 00:18
| Quote: |
Originally posted by 26933062 at 2008-4-1 00:04:
3楼代码可以处理全角空格啊! |
|
测试成功,高人,自愧弗如啊!
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) |
Powered by Discuz! 2.5 |