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

[文本处理] 批处理如何提取出一行超长字符串里的指定内容?

[复制链接]
发表于 2016-1-14 14:55:42 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-1-14 16:18 编辑

从网页源文件中提取到一超长字符串(只有一行,不够长可以自己加),如:
  1.      <td align="left" valign="top"><!--begin 1581042-0-9-->  <a href=content/2015-12/17/content_6404737.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容1&nbsp;&nbsp;<span class="f12 black">2015-12-17</span></a> <br>  <a href=content/2015-12/17/content_6404733.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容2&nbsp;&nbsp;<span class="f12 black">2015-12-17</span></a> <br>  <a href=content/2015-12/17/content_6404731.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容3&nbsp;&nbsp;<span class="f12 black">2015-12-17</span></a> <br>  <a href=content/2015-12/17/content_6404726.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容4&nbsp;&nbsp;<span class="f12 black">2015-12-17</span></a> <br>  <a href=content/2015-11/25/content_6371151.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容5&nbsp;&nbsp;<span class="f12 black">2015-11-25</span></a> <br>  <a href=content/2015-10/14/content_6304117.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容6&nbsp;&nbsp;<span class="f12 black">2015-10-14</span></a> <br>  <a href=content/2015-10/14/content_6304094.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容7&nbsp;&nbsp;<span class="f12 black">2015-10-14</span></a> <br>  <a href=content/2015-10/14/content_6304085.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容8&nbsp;&nbsp;<span class="f12 black">2015-10-14</span></a> <br>  <a href=content/2015-10/14/content_6304078.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容9&nbsp;&nbsp;<span class="f12 black">2015-10-14</span></a> <br>  <a href=content/2015-09/11/content_6264794.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容10&nbsp;&nbsp;<span class="f12 black">2015-09-11</span></a> <br> <hr size="1"></hr>   <a href=content/2015-08/17/content_6197492.htm?node=43149 class="f14 blue001" target=_blank><span class="f14 blue001">·</span>标题内容11&nbsp;&nbsp;<span class="f12 black">2015-08-17</span></a> <br> <hr size="1"></hr> <div id="displaypagenum"><p><center> <span>1</span> <a href=node_43149_2.htm>2</a> <a href=node_43149_2.htm>下一页</a> <a href=node_43149_2.htm></a></center></p></div><script language="javascript">function turnpage(page){  document.all("div_currpage").innerHTML = document.all("div_page_roll"+page).innerHTML;}</script><!--end 1581042-0-9--></td>

复制代码
从字符串中提取对应的网址和标题内容,如:
content/2015-12/17/content_6404737.htm?node=143149             标题内容

纯批处理可能受到超长行的限制,需要换行处理。
如能用sed等三方也可以。谢谢!

评分

参与人数 1技术 +1 收起 理由
回家路上 + 1 纯支持

查看全部评分

发表于 2016-1-14 16:05:32 | 显示全部楼层
本帖最后由 pcl_test 于 2016-1-14 16:11 编辑
  1. //&cls&cscript -nologo -e:jscript "%~fs0"<"文本.txt"&pause&exit
  2. function getStr(patt, txt){
  3.     var str, s='';
  4.     while ((str = patt.exec(txt)) != null){
  5.         s += str[1]+'\t'+str[2]+'\r\n';
  6.     }
  7.     return s;
  8. }
  9. var reg = /<a\shref="?([^\s"]+)"?[^>]*><span.+?<\/span>([^<]+?)(&nbsp;)*</g;
  10. var htmltxt = WScript.StdIn.ReadAll();
  11. WSH.echo(getStr(reg, htmltxt));
复制代码

评分

参与人数 2PB +10 技术 +2 收起 理由
cjiabing + 10 + 1 赞一个,非常感谢!~
回家路上 + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 03:08 , Processed in 0.017710 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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