[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何在一段文字中提取所需要的特征字?

本帖最后由 xptool 于 2011-10-12 19:51 编辑

1

=1a248eefe9079208adedfb0b8f391e59 target=总是blank><img src特征=../images/2.gif name='tmp2'

把每行中的数字 提取出来
结果

结果   12489079208083915922

2
如何提取每行左边8个字符

结果 =1a248ee

3
如何提取每行右边8个字符

结果     e='tmp2'


4
如何提取每行特征字 blank  左边8个字符 汉字算2个字符

结果  get=总是

5
如何提取每行特征字 blank  右边8个字符 汉字算2个字符

结果><img src

请朋友们帮帮忙
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

1,提取数字:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3. set a=%%a&set b= %%a
  4. for /l %%b in (0 1 9) do set a=!a:%%b= !
  5. for %%b in (!a!) do set b=!b:%%b=!
  6. set b=!b: =!
  7. echo !b!
  8. )
  9. pause
复制代码
2,3,提取左右各8个字符
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3. set a=%%a
  4. echo 左:!a:~0,8!    右:!a:~-8!
  5. )
  6. pause
复制代码
4,5,此处除了if以外好像还没有更好的办法区分汉字与单字节字符,但是这样子仍然太笨了,期待更好的办法登场。另外,楼主没考虑过汉字被分成两半的可能行么?
1

评分人数

TOP

  1. sed "s/[^0-9]//g" 1.txt
复制代码
  1. sed -r "s/^(.{8}).*/\1/" 1.txt
复制代码
  1. sed -r "s/.*(.{8})$/\1/" 1.txt
复制代码
  1. sed -r "s/.*(.{8})blank.*/\1/" 1.txt
复制代码
  1. sed -r "s/.*blank(.{8}).*/\1/" 1.txt
复制代码
1

评分人数

TOP

返回列表