Board logo

标题: [文本处理] [已解决]批处理如何查找提取字符串? [打印本页]

作者: uuu888s    时间: 2013-10-28 22:10     标题: [已解决]批处理如何查找提取字符串?

本帖最后由 uuu888s 于 2013-10-30 17:55 编辑

每次请求网页
源码里的178-9551625-7941815 这个字段 会随机变 但是格式不变 只是数字变化
源码其他部分不变化
现源码保存在txt中
现在要把178-9551625-7941815保存在另一个txt中
怎么查找到 并提取? 求解!(我想可以查找到/mn/uedata/    获取后面的19个字符)
比较弱智的问题  不要bs俺
<!DOCTYPE html><html lang="en"><head>
<script type='text/javascript'>/* <![CDATA[ */
var t0_date = new Date();
var ue_t0 = t0_date.getTime();
var ue_id = '06GWMGJ9WWBT685JR8NA';
var ue_url = '/mn/uedata/178-9551625-7941815';
var ue_pr  = 0, ue_wl_on = 1;
/* ]]> */</script>  
  <title></title>
<script type='text/javascript'> /* <![CDATA[ */
if(ue&&ue.t) { uet('bb'); }
/* ]]> */ </script></head><body>
<div id='be' style="display:none;"><form name='ue_backdetect' action="get"><input type="hidden" name='ue_back' value='1' /></form></div>
<noscript><img height="1" width="1" style='display:none;visibility:hidden;' src='/mn/uedata/178-9551625-7941815?noscript&amp;id=06GWMGJ9WWBT685JR8NA' alt=""/></noscript>
</body></html>
作者: foxJL    时间: 2013-10-28 22:35

如果都是:
var ue_url = '/mn/uedata/178-9551625-7941815';
这种格式的 则可以.
  1. @echo off&setlocal EnableDelayedExpansion
  2. (for /f "delims=" %%i in (a.txt) do (
  3. set str=%%i
  4. if not "%%i"=="!str:var ue_url=!" (
  5. for /f "tokens=4 delims=/';" %%j in ("%%i") do (echo,%%j)
  6. )
  7. ))>b.txt
复制代码

作者: uuu888s    时间: 2013-10-28 23:08

你 这个 可以  但是我想 最好是能 是 提取指定字符串后面的19位  如 可以定义指定字符串为 = '/mn/uedata/
作者: foxJL    时间: 2013-10-28 23:20

回复 3# uuu888s

好吧,提取/mn/uedata/后的19位数
  1. @echo off&setlocal EnableDelayedExpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3. set str=%%i
  4. if not "%%i"=="!str:/mn/uedata/=!" (
  5. set str=!str:*/mn/uedata/=!
  6. echo,!str:~0,19!>b.txt
  7. )
  8. )
复制代码

作者: terse    时间: 2013-10-29 02:09

也可试FINDSTR 范围可缩小




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