返回列表 发帖

[文本处理] [已解决]批处理怎样根据规则进行文本替换?

本帖最后由 sxw 于 2011-10-18 23:31 编辑

帮人问一道题:根据a.txt中的替换规则,目标文件为text.txt。
将text.txt中的每一行按如下规则替换:

如果出现|左边的字符全部替换为|右边的字符
a.txt类似下面的内容:(用|分隔,且其左右两边不再有其它的|)
aaa|bbb_
zzz|_aaa
123|321
___|---
+++|$$$
(((|)))
<<<|>>>
"""|'''
```|""""
...|^^^
......COPY
比如text.txt中类容如下
___123___
zzz___...
+++COPY
则替换后变为:
---321---
_aaa---^^^
$$$COPY
1

评分人数

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

@echo off&setlocal enabledelayedexpansion
for /f "tokens=2 delims=:" %%a in ('find /v /c "" text.txt') do set a=%%a
(for /l %%i in (1 1 %a%) do (set /p p=
for /f "tokens=1* delims=|" %%i in (a.txt) do (
set p=!p:%%i=%%j!)
echo !p!
))<text.txt
pauseCOPY
1

评分人数

    • sxw: 乐于助人技术 + 1

TOP

回复 2# 601997526


   

  谢啦,成功了。

TOP

返回列表