Board logo

标题: [文本处理] [已解决]如何根据一个文本中列出的替换规则对另一个文本里的多个特定字符串进行替换 [打印本页]

作者: pan528    时间: 2015-4-23 13:27     标题: [已解决]如何根据一个文本中列出的替换规则对另一个文本里的多个特定字符串进行替换

DOS批处理如何替换多组字符
一、材料
1、原文本

2、需要替换的字符(用右边的字符替换左边的字符,以“=”为界)
?=?
第7章_挺“胸”而出=第7章_挺身而出
第16章_酒后乱“性”=第16章_醉酒
第17章_胸“大”无脑=第17章_无脑美女
第21章_妩媚的女人=第21章_护花使者
第22章_自虐游戏=第22章_另类游戏
第23章_杨伟阳痿=第23章_杨伟
第26章_观音坐莲=第26章_意外
第27章_偷窥的惩罚=第27章_惩罚
第36章_肉垫=第36章_尴尬的场景
第48章_叫小思的极品小妞=第48章_美女小思
第49章_喜欢抓栏杆还是撕床单=第49章_喜欢什么
第57章_小弟弟扑倒大姐姐=第57章_我叫苏碧落
第58章_只劫财,不劫色=第58章_只劫财
第92章_泡妞真言=第92章_过来人的真言
第113章_按摩玉足=第113章_给温馨治脚伤
第130章_我就是一个傻逼=第130章_我就是一个傻子
第149章_就怕流氓女人太性感=第149章_我对男的不感兴趣
第170章_流氓变舞王=第170章_一秒变舞王
第208章_怎么泡妞=第208章_怎么追女生
第210章_求包养=第210章_只是朋友关系
第217章_可是很容易下垂的=第217章_我好羡慕啊
第224章_同睡一张床=第224章_你这样的人很难找
第230章_又黄又暴力=第230章_专程来安慰你
第250章_脱美女衣服=第250章_斗法
第264章_可耻地硬了=第264章_你才知道你傻啊
第269章_纯天然的绿色乳=第269章_我身子弱
第271章_钻商月影的被窝=第271章_尴尬发生了
第272章_果然很大很软=第272章_工资怎么算
第278章_=第278章_砸车
第278章_砸车砸车=第278章_砸车
第286章_被勾引了=第286章_扮猪吃老虎,爽!
第287章_摸苏姐大腿=第287章_够了没有?
第292章_那姐姐脱了=第292章_下雨了
第293章_你也脱吧=第293章_你想哪儿去了
第294章_按摩走火=第294章_受伤了
第297章_买错内衣了=第297章_买错了
第303章_叫得好销魂=第303章_躲在办公室
第307章_红**=第307章_红色的
第326章_用的什么体位=第326章_我做得很过吗
第334章_姐姐会保守节操=第334章_姐姐会保守好的
第367章_仙子的诱惑=第367章_玉蒙尘
第406章_重口味的技师=第406章_这就完了?
第409章_你带开房的钱了吗=第409章_你带钱了吗
第449章_下半身动物=第449章_要喝酒就倒啊
第450章_双*飞姐妹花=第450章_面试过了
第452章_下*药=第452章_做手脚
第453章_吻我=第453章_迷失
第454章_不会是第一次吧=第454章_我的天!
第455章_睡一起了=第455章_好巧
第478章_奈何做小三=第478章_我这是在保护你
第483章_**中毒=第483章_中毒
第500章_还不是想要我上床=第500章_没,没什么
第512章_这里都快能养鱼了=第512章_今晚的雨太大
第538章_初尝美嘴=第538章_文雅一点好不好
第549章_强制推到=第549章_自作自受
第561章_怀孕了?!=第561章_有了?!
第582章_半夜性福来撬门=第582章_幸福来撬门
第615章_发生在厕所的暧昧=第615章_衣角被卡住了
第640章_第=第640章_证据确凿
第691章_第一把六十二=第691章_苏友察的计划
第723章_冲动=第723章_冲动一回
第731章_暧昧=第731章_很特别的关系
第753章_只会造人运动=第753章_撤离
第772章_桌下风情=第772章_桌下情况
第800章_按摩治疗初体验=第800章_治疗初体验
第808章_女人想吐就是怀孕=第808章_女人想吐是有情况
第8141章_雷刃的邀请名单=第841章_雷刃的邀请名单
第887章_同居还装纯=第887章_装什么装
第893章_别怪我耍流氓=第893章_别怪我动粗
第924章_第一把二十二=第924章_王彪的计划
第981章_亲一个!=第981章_不许拆台
第989章_这是我第一次=第989章_你敢说出去,我杀了你
第1006章_叫你装逼=第1006章_叫你装
第1068章_和周妍深交=第1068章_价格合适才行
第1115章_大战合=第1115章_大战三百回合
第1149章_再亲一口=第1149章_放你一天假
第1204章_深交一下=第1204章_你又变帅啦
第1232章_第四百三十=第1232章_海上风暴
第1282章_第四百八十=第1282章_烈火VS寒冰
第1437章_鬼符箓箓=第1437章_鬼符箓
第1444章^<_a^>=第1444章_气壮山河
第1454章_双胞胎姐妹花=第1454章_每个人都有往事

二、DOS批处理如何替换多组字符?
作者: yangfengoo    时间: 2015-4-23 13:56

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::a.txt 替换文本ywb.txt  原文本
  4. for /f "tokens=3,* delims==_" %%a in (a.txt) do set %%a=%%b
  5. for /f "tokens=1,2* delims=_" %%x in (ywb.txt) do (
  6.   if defined %%y (echo %%x_%%y_!%%y!)
  7.         else (echo %%x_%%y_%%z)
  8. )>>new_ywb.txt
复制代码

作者: gawk    时间: 2015-4-23 13:57

  1. @echo off
  2. for /f "tokens=1-2 delims==" %%i in ('type "需要替换的字符.txt"') do (
  3.     echo 正在处理 %%i=%%j
  4.     sed -i "s/%%i/%%j/" 原文本.txt
  5. )
  6. pause
复制代码

作者: pan528    时间: 2015-4-23 17:41

回复 2# yangfengoo

感谢回帖。
但测试时发现了一点小问题:
替换文本中的=号两边的“第XX章”并不是全部相同的,如:
第8141章_雷刃的邀请名单=第841章_雷刃的邀请名单
第1444章<_a>=第1444章_气壮山河
因此,代码并不能替换所有想替换的字符,麻烦你修改一下。
作者: pan528    时间: 2015-4-23 19:47

回复 3# gawk

感谢回帖。
可惜sed是第三方软件。
但我还是测试了一下,sed处理带“*”号的字符时,不能替换。
不知是sed的缺陷,还是代码要改一下?
作者: gawk    时间: 2015-4-23 20:54

回复 5# pan528


    请把测试数据、希望的结果、实际的结果发出来,我试试。
作者: pan528    时间: 2015-4-23 21:16

回复 6# gawk

原文件与替换文本已上传了,见楼上。

不能替换的有:

第450章_双*飞姐妹花=第450章_面试过了
第452章_下*药=第452章_做手脚
第8141章_雷刃的邀请名单=第841章_雷刃的邀请名单
第1444章<_a>=第1444章_气壮山河
作者: cobat    时间: 2015-4-23 23:57

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (替换文本.txt) do set !"%%a"
  4. (for /f "tokens=1* delims=_" %%a in (原文本.txt) do (
  5.     if defined %%b (echo,%%a_!%%b!) else echo,%%a_%%b
  6. ))>结果.txt
  7. pause
复制代码

作者: pan528    时间: 2015-4-24 06:38

回复 8# cobat

感谢回帖!
通过了测试!谢谢!
但请高手解释一下“set !"%%a"”是什么意思?
有无相应的注释和教程?
再次表示感谢!
作者: wenlishasha    时间: 2015-4-28 19:56

回复 8# cobat


    请问,可以对多个文件夹起作用吗?
作者: sinsky    时间: 2015-4-30 15:23

高手好多,我还不能发贴锁求助。。。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2