[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样删除字符并换行以及删除空行?

下面这个代码如何修改?
  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do (
  3. set "str=%%a"
  4. setlocal enabledelayedexpansion
  5. for %%b in ("!str:、=" "!") do endlocal&echo;%%~b
  6. ))>2.txt
复制代码
因为在xls表格里复制出来的内容到txt文本里,所以想处理一下,批处理删除字符并换行以及删除空行最后输出
文本例如:
省份        城市        县级市                                                                                                                       
北京市        北京市        门头沟区        房山区        顺义区        通州区        昌平区        密云县        延庆县        大兴县        怀柔县        平谷县                                               
上海市        上海市        闵行区        浦东新区        南汇县        奉贤区        金山区        松江区        青浦区        嘉定区        宝山区        崇明县                                               
天津市        天津市        西青区        塘沽区        北辰区        汉沽区        大港区        东丽区        津南区        蓟县        武清县        宁河县        宝坻县        静海县                               
重庆市        重庆市        南岸区        北碚区        江北区        渝北区        沙坪坝区        九龙坡区        万盛区        巴南区        渝中区        大渡口区        双桥区        万州区        涪陵区        永川市        合川市        江津市
福建        福州市        长乐市        福清市        闽侯县        平潭县        连江县        罗源县        永泰县        闽清县                                                               
        厦门市                                                                                                                               
        三明市        永安市        明溪县        将乐县        大田县        宁化县        建宁县        沙县        尤溪县        清流县        泰宁县                                               
        莆田市        仙游县                                                                                                                       
        泉州市        石狮市        晋江市        南安市        惠安县        安溪县        德化县        永春县                                       
        龙岩市        漳平市        长汀县        武平县        永定县        上杭县        连城县                                                                               
        宁德市        福安市        福鼎市        寿宁县        霞浦县        柘荣县        屏南县        古田县        周宁县                                                               
内蒙古        呼和浩特市        土默特左旗        托克托县        和林格尔县        清水河县        武川县                                                                                       
        包头市        土默特右旗        固阳县        达尔罕茂明安联合旗       

要求删除“        ”可能是空格,换行并删除空行,最后输出,整理后例如:
省份
城市
县级市                                                                                                       
北京市
北京市
。。。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

因为在xls表格里复制出来的内容到txt文本里,所以想处理一下

楼主的因果关系学得真好,同时你的描述估计也只有你自己懂。。。
***共同提高***

TOP

3# 你小相公
论坛有for的教程,同时,可以看看这个贴子:
http://www.bathome.net/viewthrea ... light=goto%2Bbatman
***共同提高***

TOP

删除哪些字符?
“并换行”是什么意思?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

5# Batcher
删除好像是空格和空行,另外能不能同时删除多个字符?

TOP

以后贴文本请用code括一下,好乱:
  1. @echo off
  2. (for /f "delims=" %%a in (a.txt) do for %%b in (%%a) do echo %%b)>$
  3. move $ a.txt
  4. start a.txt
复制代码
***共同提高***

TOP

感叹:一个二级士官连这最基础的for语句都不知道?
***共同提高***

TOP

本帖最后由 zm900612 于 2011-4-28 23:28 编辑

“删除好像是空格和空行”?这句没有宾语了?楼主的表述真是让人迷糊...
  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do (
  3.    for %%b in (%%a) do echo %%b
  4. ))>2.txt
复制代码

TOP

9# zm900612
这样能正确出结果?
***共同提高***

TOP

10# batman


漏了delims...另外,如果文本中存在特殊字符会出错,但从楼主给出的范例看来似乎没有这样的字符,而且也未说明文本是什么格式,所以在此均不考虑特殊情况

TOP

能不能同时删除多个字符并换行?例如文本内容:
不管不顾,大幅度。地方?
反对反对 哎
处理结果为:
不管不顾
大幅度
地方
反对反对

TOP

12# wh1234567


以7楼代码为例:
1,默认以英文分号,逗号、空格、tab制符、等号为分隔
2,楼主可以根据需要增加中文 , 。 ? 等为分隔
3,忽略以上未提到的英文敏感字符的问题
  1. @echo off&setlocal enableDelayedExpansion
  2. (for /f "delims=" %%a in (a.txt) do (
  3. set "a=%%a"
  4. for %%b in (, 。 ?) do set "a=!a:%%b= !"
  5. for %%b in (!a!) do echo;%%b
  6. ))>$
  7. move $ a.txt
  8. start a.txt
复制代码
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

楼主明显的伸手党,从最近发的n贴来看,摆明了连最基础的东西都没有去看,这样的贴子以后少回了。。。
***共同提高***

TOP

所谓教学相长,他不学是他的事,我们回答是我们的事

TOP

返回列表