标题: [文本处理] 批处理如何实现多重处理文本特定字符替换? [打印本页]
作者: formyth 时间: 2012-5-30 12:56 标题: 批处理如何实现多重处理文本特定字符替换?
有这样一个文本,内容是:
&张三
&张二&zs李四-王五
牛.大
zl钟六
小小
现要求一:
将文本中特定字符删除,剩下以下内容并排版如下——
张三
李四
王五
牛大
钟六
小小
要求二:
将要求一文本,进一步处理,形成以下级次的内容
张三\李四\王五\牛大\小小\小小\钟六
请哪位达人帮忙下啦!
作者: powerbat 时间: 2012-5-30 13:32
两个黄鹂鸣翠柳——不知所云。。。
&张三
&张二&zs李四-王五
nd.牛大
zl钟六
小小删除怎样的“特定字符”,才能变成
张三
李四
王五
牛大
钟六
小小
张二为什么也被删除了?
作者: formyth 时间: 2012-5-30 13:38
回复 2# powerbat
对,就是要排除张二的
作者: formyth 时间: 2012-5-30 13:40
本帖最后由 formyth 于 2012-5-30 13:55 编辑
严格讲,是要替换,把& 张二 zs . zl - 等指定的字符替换掉。有的是清除,有的是替换成回车例如 - (应该说换行)
作者: powerbat 时间: 2012-5-30 13:46
“指定的字符”是怎么指定的?规则是什么?
作者: 喃喃努努 时间: 2012-5-30 13:47
规则好像有点乱啊,不能统一吗?删除的具体是些什么东东?
作者: formyth 时间: 2012-5-30 13:53
回复 5# powerbat
嗯,感谢大侠关注哈!
这样吧,就把眼前这个例子实现就好了,不再做过多解释,因为有题目,也有结果,关键是中间的过程木有……
作者: gawk 时间: 2012-5-30 15:30
回复 7# formyth
用set命令做替换就行了
作者: formyth 时间: 2012-5-30 15:32
回复 8# gawk
大侠,不会啊,搞了好几个,都不行,特别是多个替换搞在一起,尤其是那个回车换行……而且第二个要求,就更没有头绪了
作者: gawk 时间: 2012-5-30 15:34
回复 9# formyth
把你搞的代码贴在顶楼,会有人告诉你哪里错了。
作者: apang 时间: 2012-5-31 10:00
本帖最后由 apang 于 2012-5-31 10:03 编辑
要求一- @echo off
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- setlocal enabledelayedexpansion
- set str=!str:-=^
-
- !
- for %%b in ("&" "张二" "zs" "." "zl") do (
- set "str=!str:%%~b=!"
- )
- echo !str!&endlocal
- ))>$
- more $>b.txt
- del $
复制代码
要求二,有什么规律?
作者: formyth 时间: 2012-5-31 16:36
回复 12# apang
感谢apang大,实在太威武了!要求二只要按照题目的要求顺序排列出来就好了——因为想解决另外一个问题,所以想通过这个解决后的思路,来完成那个问题呢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |