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

[文本处理] 批处理如何实现多重处理文本特定字符替换?

有这样一个文本,内容是:

&张三
&张二&zs李四-王五
牛.大
zl钟六
小小


现要求一:
将文本中特定字符删除,剩下以下内容并排版如下——
张三
李四
王五
牛大
钟六
小小


要求二:
将要求一文本,进一步处理,形成以下级次的内容
张三\李四\王五\牛大\小小\小小\钟六

请哪位达人帮忙下啦!

两个黄鹂鸣翠柳——不知所云。。。

&张三
&张二&zs李四-王五
nd.牛大
zl钟六
小小
删除怎样的“特定字符”,才能变成
张三
李四
王五
牛大
钟六
小小

张二为什么也被删除了?

TOP

回复 2# powerbat


    对,就是要排除张二的

TOP

本帖最后由 formyth 于 2012-5-30 13:55 编辑

严格讲,是要替换,把& 张二 zs . zl - 等指定的字符替换掉。有的是清除,有的是替换成回车例如 - (应该说换行)

TOP

“指定的字符”是怎么指定的?规则是什么?

TOP

规则好像有点乱啊,不能统一吗?删除的具体是些什么东东?

TOP

回复 5# powerbat

嗯,感谢大侠关注哈!
这样吧,就把眼前这个例子实现就好了,不再做过多解释,因为有题目,也有结果,关键是中间的过程木有……

TOP

回复 7# formyth


    用set命令做替换就行了

TOP

回复 8# gawk

大侠,不会啊,搞了好几个,都不行,特别是多个替换搞在一起,尤其是那个回车换行……而且第二个要求,就更没有头绪了

TOP

回复 9# formyth


    把你搞的代码贴在顶楼,会有人告诉你哪里错了。

TOP

本帖最后由 apang 于 2012-5-31 10:03 编辑

要求一
  1. @echo off
  2. (for /f "delims=" %%a in (a.txt) do (
  3.    set "str=%%a"
  4.    setlocal enabledelayedexpansion
  5.    set str=!str:-=^
  6. !
  7.    for %%b in ("&" "张二" "zs" "." "zl") do (
  8.      set "str=!str:%%~b=!"
  9.    )
  10.    echo !str!&endlocal
  11. ))>$
  12. more $>b.txt
  13. del $
复制代码
要求二,有什么规律?

TOP

回复 12# apang

感谢apang大,实在太威武了!要求二只要按照题目的要求顺序排列出来就好了——因为想解决另外一个问题,所以想通过这个解决后的思路,来完成那个问题呢

TOP

返回列表