标题: [文本处理] [已解決]批处理怎样删除两个指定字串间的字符? [打印本页]
作者: leo198444 时间: 2011-5-27 00:32 标题: [已解決]批处理怎样删除两个指定字串间的字符?
本帖最后由 leo198444 于 2011-5-27 02:28 编辑
你好
请问我要寻找删除<tabID>tbp0</tabID>和</MAButton>之间的字元
包括<tabID>tbp0</tabID>和</MAButton>自身也要删除
该怎么作?- <tabID>tbp0</tabID>
- <buttonID>btnMAD</buttonID>
- <buttonText></buttonText>
- <fileName>C:\Program Files\LOOP Translation</fileName>
- <arguments />
- <workingDirectory></workingDirectory>
- <iconFile />
- <iconIndex>0</iconIndex>
- <windowStyle>0</windowStyle>
- <windowStyleEx>0</windowStyleEx>
- <windowMoveDelay>1000</windowMoveDelay>
- <runAsAdmin>false</runAsAdmin>
- </MAButton>
复制代码
谢谢
作者: Batcher 时间: 2011-5-27 01:02
- sed "/<tabID>tbp0<\/tabID>/,/<\/MAButton>/d" 1.txt | more >2.txt
复制代码
http://bbs.bathome.net/thread-3981-1-1.html
作者: batman 时间: 2011-5-27 01:15
纯批的:- @echo off&setlocal enabledelayedexpansion
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"&set "str=!str:*>=!"
- set "a=!str:*<=!"
- for %%a in ("!a!") do echo,!str:^<%%~a=!
- ))>b.txt
- start b.txt
复制代码
作者: leo198444 时间: 2011-5-27 01:32
本帖最后由 leo198444 于 2011-5-27 01:36 编辑
不能啊
试用上面两位的代码
文本都变成空的
请下载我上传的文本试试
感谢万分
http://leo1984.googlecode.com/files/leo1982.rar
作者: Batcher 时间: 2011-5-27 01:46
4# leo198444
1、请把测试文件放到顶楼
2、你用的哪个版本的sed?
作者: batman 时间: 2011-5-27 01:48
测试成功,不知道楼主你是怎么用的,文本怎么会变成空的,都没有对你的文本进行写入操作?
作者: batman 时间: 2011-5-27 02:10
本帖最后由 batman 于 2011-5-27 09:20 编辑
再来一个vbs正则的:- Dim fso, vbstr
- Set fso = CreateObject("scripting.filesystemobject")
- vbstr = fso.OpenTextFile("a.txt", 1).ReadAll()
- Set RegEx = New RegExp
- regex.Global = True
- regex.Pattern = "<[^<>]+>|\s([^<>]+|\s)<[^<>]+>|\s"
- vbstr = regex.Replace(vbstr, "$1")
- fso.OpenTextFile("b.txt", 2, True).Write vbstr
- Set regex = Nothing
- Set fso = Nothing
- MsgBox "ok"
复制代码
作者: leo198444 时间: 2011-5-27 02:26
成功了
我sed.exe換上最新後就成功了
非常感謝樓上兩位大力幫助
我愛你們
作者: batman 时间: 2011-5-27 07:58
我晕,搞了半天看错题意,还以为是要删除所有的标签
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |