找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 31526|回复: 11

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

[复制链接]
发表于 2012-5-30 12:56:58 | 显示全部楼层 |阅读模式
有这样一个文本,内容是:

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


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


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

请哪位达人帮忙下啦!
发表于 2012-5-30 13:32:30 | 显示全部楼层
两个黄鹂鸣翠柳——不知所云。。。

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

张二为什么也被删除了?
 楼主| 发表于 2012-5-30 13:38:09 | 显示全部楼层
回复 2# powerbat


    对,就是要排除张二的
 楼主| 发表于 2012-5-30 13:40:26 | 显示全部楼层
本帖最后由 formyth 于 2012-5-30 13:55 编辑

严格讲,是要替换,把& 张二 zs . zl - 等指定的字符替换掉。有的是清除,有的是替换成回车例如 - (应该说换行)
发表于 2012-5-30 13:46:19 | 显示全部楼层
“指定的字符”是怎么指定的?规则是什么?
发表于 2012-5-30 13:47:07 | 显示全部楼层
规则好像有点乱啊,不能统一吗?删除的具体是些什么东东?
 楼主| 发表于 2012-5-30 13:53:20 | 显示全部楼层
回复 5# powerbat

嗯,感谢大侠关注哈!
这样吧,就把眼前这个例子实现就好了,不再做过多解释,因为有题目,也有结果,关键是中间的过程木有……
发表于 2012-5-30 15:30:09 | 显示全部楼层
回复 7# formyth


    用set命令做替换就行了
 楼主| 发表于 2012-5-30 15:32:28 | 显示全部楼层
回复 8# gawk

大侠,不会啊,搞了好几个,都不行,特别是多个替换搞在一起,尤其是那个回车换行……而且第二个要求,就更没有头绪了
发表于 2012-5-30 15:34:53 | 显示全部楼层
回复 9# formyth


    把你搞的代码贴在顶楼,会有人告诉你哪里错了。
发表于 2012-5-31 10:00:21 | 显示全部楼层
本帖最后由 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 $
复制代码
要求二,有什么规律?
 楼主| 发表于 2012-5-31 16:36:18 | 显示全部楼层
回复 12# apang

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

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 04:57 , Processed in 0.021394 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表