标题: [文本处理] [已解决]批处理如何在一段文字中提取所需要的特征字? [打印本页]
作者: xptool 时间: 2011-2-8 23:43 标题: [已解决]批处理如何在一段文字中提取所需要的特征字?
本帖最后由 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
请朋友们帮帮忙
作者: CrLf 时间: 2011-2-9 02:24
1,提取数字:- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (a.txt) do (
- set a=%%a&set b= %%a
- for /l %%b in (0 1 9) do set a=!a:%%b= !
- for %%b in (!a!) do set b=!b:%%b=!
- set b=!b: =!
- echo !b!
- )
- pause
复制代码
2,3,提取左右各8个字符- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (a.txt) do (
- set a=%%a
- echo 左:!a:~0,8! 右:!a:~-8!
- )
- pause
复制代码
4,5,此处除了if以外好像还没有更好的办法区分汉字与单字节字符,但是这样子仍然太笨了,期待更好的办法登场。另外,楼主没考虑过汉字被分成两半的可能行么?
作者: CUer 时间: 2011-2-9 14:30
复制代码
- sed -r "s/^(.{8}).*/\1/" 1.txt
复制代码
- sed -r "s/.*(.{8})$/\1/" 1.txt
复制代码
- sed -r "s/.*(.{8})blank.*/\1/" 1.txt
复制代码
- sed -r "s/.*blank(.{8}).*/\1/" 1.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |