Board logo

标题: [文本处理] 【已解决】请教批处理提取两字符间的内容 [打印本页]

作者: suchost    时间: 2015-12-7 10:42     标题: 【已解决】请教批处理提取两字符间的内容

本帖最后由 suchost 于 2015-12-8 14:48 编辑

现有a.txt,内容如下:
  1. <itemid="1867"><name>CN卡通頻道</address></item>
  2. <itemid="5170"><name>天映頻道</address></item>
  3. <itemid="5180"><name>CCTV13-新聞</address></item>
  4. <itemid="5182"><name>香港ATV亞洲台</address></item>
  5. <itemid="5183"><name>華視HD</address></item>
复制代码
请帮忙提取<name>和</address>之间的内容到b.txt,结果是:
CN卡通頻道
天映頻道
CCTV13-新聞
香港ATV亞洲台
華視HD

先谢谢了!
作者: pcl_test    时间: 2015-12-7 11:38

notepad++ 正则替换
作者: 回家路上    时间: 2015-12-7 12:29

莫名的觉得这标签对应关系好厉害。
作者: rdctgvf    时间: 2015-12-7 14:11

代码在WIN7测试完成
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1-4 delims=<>" %%a in (1.txt) do (
  3.    set TextContent=%%c
  4.    echo !TextContent!
  5. )
  6. pause
复制代码

作者: suchost    时间: 2015-12-7 14:12

回复 2# pcl_test


    版主好厉害哟,谢谢!
作者: suchost    时间: 2015-12-7 14:18

回复 4# rdctgvf


  不能通过呀
作者: rdctgvf    时间: 2015-12-7 14:34

回复 6# suchost

你把上面代码中的“1.txt”改成你的文本文件名称 “a.txt”
然后把脚本和a.txt放在同一个文件夹中执行 我这边测试没有问题
作者: suchost    时间: 2015-12-7 22:28

回复 7# rdctgvf


    怎么把结果输到b.txt?
作者: DAIC    时间: 2015-12-7 23:33

回复 8# suchost
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "tokens=1-4 delims=<>" %%a in (a.txt) do (
  4.     set "TextContent=%%c"
  5.     echo,!TextContent!
  6. ))>b.txt
复制代码

作者: CrLf    时间: 2015-12-8 00:35

  1. @mshta http://bathome.net/s/hta/ "type('a.txt').replace(/.*\<name\>(.*?)\<\/address\>.*/ig,'$1')" >b.txt
复制代码





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