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

[文本处理] [已解決]批处理怎样删除两个指定字串间的字符?

[复制链接]
发表于 2011-5-27 00:32:55 | 显示全部楼层 |阅读模式
本帖最后由 leo198444 于 2011-5-27 02:28 编辑

你好

请问我要寻找删除<tabID>tbp0</tabID></MAButton>之间的字元
包括<tabID>tbp0</tabID></MAButton>自身也要删除

该怎么作?
  1.       <tabID>tbp0</tabID>
  2.       <buttonID>btnMAD</buttonID>
  3.       <buttonText></buttonText>
  4.       <fileName>C:\Program Files\LOOP Translation</fileName>
  5.       <arguments />
  6.       <workingDirectory></workingDirectory>
  7.       <iconFile />
  8.       <iconIndex>0</iconIndex>
  9.       <windowStyle>0</windowStyle>
  10.       <windowStyleEx>0</windowStyleEx>
  11.       <windowMoveDelay>1000</windowMoveDelay>
  12.       <runAsAdmin>false</runAsAdmin>
  13.     </MAButton>
复制代码
谢谢

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-5-27 01:02:51 | 显示全部楼层
  1. sed "/<tabID>tbp0<\/tabID>/,/<\/MAButton>/d" 1.txt | more >2.txt
复制代码
http://bbs.bathome.net/thread-3981-1-1.html
发表于 2011-5-27 01:15:00 | 显示全部楼层
纯批的:

  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in (a.txt) do (
  3.     set "str=%%a"&set "str=!str:*>=!"
  4.     set "a=!str:*<=!"
  5.     for %%a in ("!a!") do echo,!str:^<%%~a=!
  6. ))>b.txt
  7. start b.txt
复制代码
 楼主| 发表于 2011-5-27 01:32:37 | 显示全部楼层
本帖最后由 leo198444 于 2011-5-27 01:36 编辑

不能啊

试用上面两位的代码

文本都变成空的

请下载我上传的文本试试

感谢万分
http://leo1984.googlecode.com/files/leo1982.rar
发表于 2011-5-27 01:46:32 | 显示全部楼层
4# leo198444


1、请把测试文件放到顶楼
2、你用的哪个版本的sed?
发表于 2011-5-27 01:48:08 | 显示全部楼层
测试成功,不知道楼主你是怎么用的,文本怎么会变成空的,都没有对你的文本进行写入操作?
发表于 2011-5-27 02:10:13 | 显示全部楼层
本帖最后由 batman 于 2011-5-27 09:20 编辑

再来一个vbs正则的:

  1. Dim fso, vbstr
  2. Set fso = CreateObject("scripting.filesystemobject")
  3. vbstr = fso.OpenTextFile("a.txt", 1).ReadAll()
  4. Set RegEx = New RegExp
  5. regex.Global = True
  6. regex.Pattern = "<[^<>]+>|\s([^<>]+|\s)<[^<>]+>|\s"
  7. vbstr = regex.Replace(vbstr, "$1")
  8. fso.OpenTextFile("b.txt", 2, True).Write vbstr
  9. Set regex = Nothing
  10. Set fso = Nothing
  11. MsgBox "ok"
复制代码
 楼主| 发表于 2011-5-27 02:26:40 | 显示全部楼层
成功了
我sed.exe換上最新後就成功了

非常感謝樓上兩位大力幫助

我愛你們
发表于 2011-5-27 07:58:27 | 显示全部楼层
我晕,搞了半天看错题意,还以为是要删除所有的标签
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 15:41 , Processed in 0.023226 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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