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

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

[复制链接]
发表于 2011-2-8 23:43:37 | 显示全部楼层 |阅读模式
本帖最后由 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

请朋友们帮帮忙

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-2-9 02:24:02 | 显示全部楼层
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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2011-2-9 14:30:56 | 显示全部楼层
  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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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