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

[文本处理] [已解决]批处理如何提取网页中一对标签/标记符囊括起来的内容?

[复制链接]
发表于 2014-12-6 00:05:21 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-5-5 23:48 编辑

如有内容:

.....(省略).....">截取字段1</a><..(省略)..><...">截取字段2</a>.....(省略).....

怎么才能截取到内容:截取字段1  和 截取字段2  ?

特征就是   ">截取字段1</a>

使用for  set  截好像不太现实,中间有太多个  <  >  的符号。

请大神相助,谢谢。

评分

参与人数 1PB -4 收起 理由
pcl_test -4 勿发笼统的标题

查看全部评分

发表于 2014-12-6 06:04:36 | 显示全部楼层
有没有跨行?单行长度会不会超过 8192 字符?
发表于 2014-12-6 10:44:07 | 显示全部楼层
把你的网页压缩一下传上来看看吧
 楼主| 发表于 2014-12-6 16:40:37 | 显示全部楼层
回复 2# CrLf
没有跨行呢,也没有超最长行
 楼主| 发表于 2014-12-6 16:49:11 | 显示全部楼层
回复 3# DAIC
已经获取要截取字符串的那一行了,那一行的格式就上面说的那样。
发表于 2014-12-6 19:50:51 | 显示全部楼层
举个栗子:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=.....(省略).....>截取字段1</a><..(省略)..><...>截取字段2</a>.....(省略)....."
  3. set lf=^


  4. for %%a in ("!lf!") do (
  5.         set "tmpstr=!str:*截取字段1</a>=!"
  6.         for /f "eol=* delims=" %%b in ("!tmpstr:>截取字段2</a>=%%~a*!") do echo %%b
  7. )
  8. pause
复制代码
发表于 2014-12-6 19:51:38 | 显示全部楼层
再举个栗子:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=.....(省略).....>截取字段1</a><..(省略)..><...>截取字段2</a>.....(省略)....."

  3. set "index=!str:*截取字段1</a>=!"
  4. set "length=!index:*>截取字段2</a>=!"
  5. echo !index!
  6. echo !length!
  7. call :strlen index index
  8. call :strlen length length
  9. echo !str:~-%index%,%length%!
  10. pause&exit /b


  11. :strlen <stringVarName> [retvar]
  12. :: 思路: 二分回溯联合查表法
  13. :: 说明: 所求字符串大小范围 0K ~ 8K;
  14. ::    stringVarName ---- 存放字符串的变量名
  15. ::    retvar      ---- 接收字符长度的变量名
  16. setlocal enabledelayedexpansion
  17. set "$=!%1!#"
  18. set N=&for %%a in (4096 2048 1024 512 256 128 64 32 16)do if !$:~%%a!. NEQ . set/aN+=%%a&set $=!$:~%%a!
  19. set $=!$!fedcba9876543210&set/aN+=0x!$:~16,1!
  20. endlocal&If %2. neq . (set/a%2=%N%)else echo %N%
复制代码
 楼主| 发表于 2014-12-9 14:26:11 | 显示全部楼层
回复 7# CrLf


    谢谢 CrLf 的思路例子,已按照思路类似方法解决了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 20:04 , Processed in 0.018181 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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