楼 主
我也来出题:提取特定文本中的字符串
发表于 2008-07-23 15:44 · 中国 云南 玉溪 电信
初级用户
★
积分 111 发帖 29 注册 2008-04-20 21:37 18年会员 UID 116444 性别 男
状态 离线
附件:
测试文本
测试文本在记事本中的截图
测试文本在第三方文本编辑工具中的截图
说明:
为回车符+换行符
回车符
为空格符
1、2、3、4行固定,其他行格式类似,行数不定
加一个条件:不采用第三方工具
要求只提取整篇文本中
倒数 第二个括号中的内容,其他不要(比如只提取上图中的“01:36.1”)(测试文本中应该是提取最后一个"04:45.9")
[
Last edited by hmily88 on 2008-7-30 at 07:01 PM ]
上网时间有限,可能不能即时给你回复,抱歉!!!
第 2 楼
发表于 2008-07-23 17:27 · 中国 广东 广州 电信
银牌会员
★★★
永远的菜鸟
积分 1,335 发帖 574 注册 2007-11-27 12:50 18年会员 UID 103929 性别 男 来自 广西
状态 离线
@echo off
for /f "tokens=2 delims=()" %%a in ('type a.txt') do (
echo %%a
)
pause
第 3 楼
发表于 2008-07-23 17:50 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
@echo off
for /f "tokens=3 delims=() " %%i in (a.txt) do set "str=%%i"
echo %str%&pause>nul
批处理之家新域名:www.bathome.net
第 4 楼
发表于 2008-07-23 19:00 · 中国 湖北 武汉 联通
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
楼上两位的测试都通不过,需要把回车转换一下。
@echo off
for /f "tokens=2 delims=()" %%a in ('sed "s/\r/\n/g" 6041.txt') do set "re=%%a"
echo.%re%&pause
第 5 楼
发表于 2008-07-23 19:06 · 中国 北京 光环新网
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488 发帖 1,357 注册 2006-05-20 12:00 20年会员 UID 55770
状态 离线
晕,
有问题请发论坛或者自行搜索,再短消息问我的统统是SB
第 6 楼
发表于 2008-07-23 20:05 · 中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
纠正一个说法
CR是回车
LF是换行
你在记事本里面敲一下回车实际是同时产生了CR和LF
第 7 楼
发表于 2008-07-23 20:49 · 中国 江苏 苏州 电信
初级用户
★★
积分 195 发帖 93 注册 2006-10-28 08:20 19年会员 UID 68626 性别 男
状态 离线
awk
BEGIN {FS =""}
/.*\(.*/ {print $4}
第 8 楼
发表于 2008-07-23 20:58 · 中国 湖北 武汉 联通
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
Originally posted by metoo at 2008-7-23 20:49:
awk
BEGIN {FS =""}
/.*\(.*/ {print $4}
测试不可行……
第 9 楼
发表于 2008-07-23 21:18 · 中国 江苏 苏州 电信
初级用户
★★
积分 195 发帖 93 注册 2006-10-28 08:20 19年会员 UID 68626 性别 男
状态 离线
- - 题意理解错误。。
BEGIN {FS =""}
END {print $2}
话说这玩意没啥通用性
[
Last edited by metoo on 2008-7-23 at 09:41 PM ]
第 10 楼
发表于 2008-07-23 23:06 · 中国 广东 深圳 电信
初级用户
★
积分 80 发帖 30 注册 2007-04-19 23:21 19年会员 UID 85763 性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "tokens=* skip=4" %%i in (604.txt) do set "string=%%i"
:loop
for /f "tokens=1,* delims=%%" %%i in ("!string!") do (
for /f "tokens=2 delims=()" %%s in ("%%i") do echo %%s
set "string=%%j"
if defined string goto loop
)
[
Last edited by lpk130 on 2008-7-23 at 11:08 PM ]
第 11 楼
发表于 2008-07-24 12:06 · 中国 云南 玉溪 电信
初级用户
★
积分 111 发帖 29 注册 2008-04-20 21:37 18年会员 UID 116444 性别 男
状态 离线
谢谢楼上纠正,我对CR和LF这东东也不太了解!
2、3楼的就不说了,4楼的好象也不行,提取到的是第一个括号中的unknown
10楼貌似可以,但文本稍微再大点就不行了。
------end-------
再一个,如果不采用第三方工具呢!!!
[ Last edited by hmily88 on 2008-7-24 at 12:52 PM ]
上网时间有限,可能不能即时给你回复,抱歉!!!
第 12 楼
发表于 2008-07-26 16:13 · 中国 云南 玉溪 电信
初级用户
★
积分 111 发帖 29 注册 2008-04-20 21:37 18年会员 UID 116444 性别 男
状态 离线
......................
上网时间有限,可能不能即时给你回复,抱歉!!!
第 13 楼
发表于 2008-07-27 08:00 · 中国 广东 广州 电信
银牌会员
★★★
积分 1,206 发帖 517 注册 2007-03-25 01:18 19年会员 UID 82819 性别 男
状态 离线
这个。。。
若你理解了批处理,出的题目才可以有难度呢。
知,不觉多。不知,乃求知
第 14 楼
发表于 2008-07-30 19:03 · 中国 云南 玉溪 电信
初级用户
★
积分 111 发帖 29 注册 2008-04-20 21:37 18年会员 UID 116444 性别 男
状态 离线
什么意思,
我看这也没几个人能做到,不信试试...
上网时间有限,可能不能即时给你回复,抱歉!!!
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正