找回密码
 注册
快捷导航
查看: 4688|回复: 41

【求助】如何从文本文件中提取出自己需要的字段

[复制链接] |自动提醒
阅读字号:

1277

回帖

1

积分

1402

资产值

初级会员 Rank: 1

注册时间
2002-7-8
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2007-8-30 22:09:17| 字数 1,098| - 中国–四川–成都–成华区 电信 | 显示全部楼层 |阅读模式
由于工作需要,需要从一个文本文件中提取一个字段(数字)。不知道有没有这样的专门软件。处理文本的。正则表达式不熟悉呀。哪位xd帮一个忙。推荐一个软件或者想一个办法,谢谢。

举一个例子:
title="479832166"  style="cursor:hand" id="479832166tableuin">
<tr>
<td><a href='#'   class="graynl" target="_blank"><IMG  id="479832166img" height="16" src="http://imgcache.qq.com/group/web_face/s/0-2.gif" width="16" border="0" ></a></td>
<td style="padding-left:5px;" ><a href='#'   class="graynl" target="_blank">黄沙漫漫∞</a></TD><td><a href="http://479832166.qzone.qq.com"  class="graynl" target="_blank"><IMG border=0 id="479832166qzoneflag" style="display:none" height="11" src="http://imgcache.qq.com/group/images/group09.gif" width="12"></a></td>
</tr>
</table>
<script>showuserinfo.SetUserInfoEvent(479832166, 276) </script></td>


我需要从这个文本里面提取title="479832166"这里面的这个数字:479832166。不知道该怎么弄。各位大虾支一个招呀!!!!!

1万

回帖

99

积分

2万

资产值

荣誉版主 Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2005-8-10
银牌荣誉勋章(注册10年以上会员)
发表于 2007-8-30 22:15:43| 字数 31| - 中国–北京–北京 电信/中电飞华 | 显示全部楼层
什么意思?搜索“title=”?然后看后面的数字?*.*lll
河神爷RS
回复 支持 反对

使用道具 举报

7736

回帖

117

积分

1万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2004-6-12
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2007-8-30 22:38:15| 字数 46| - 中国–广东–深圳 电信 | 显示全部楼层
貌似和QQ打交道啊,不知道具体是做什么的? 原来有人从网页搜索@类型的字符,随之垃圾邮件泛滥了
X1 Carbon 2018, 16 G ,1T SSD 4K HDR
X1 Carbon 2015, 16 G ,512G SSD
X220T, I5, 8G, 128G SSD
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2007-8-30 22:47:29| 字数 36| - 中国–四川–绵阳 电信 | 显示全部楼层
如果有一定规律,则简单的写一个代码,用Office的VBA都很容易实现。
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

1277

回帖

1

积分

1402

资产值

初级会员 Rank: 1

注册时间
2002-7-8
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
 楼主| 发表于 2007-8-30 22:49:04| 字数 134| - 中国–四川–成都–成华区 电信 | 显示全部楼层
hans版主言重了。不像你想的那样。

另:river_s版主。是需要title="479832166"。这里面的数字


另外如何统一为文本添加相同的内容。例如:


1
2
3
4
5
如何在他们的后面统一添加222

添加后就变为:
1222
2222
3222
4222
5222
回复 支持 反对

使用道具 举报

1277

回帖

1

积分

1402

资产值

初级会员 Rank: 1

注册时间
2002-7-8
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
 楼主| 发表于 2007-8-30 22:49:50| 字数 76| - 中国–四川–成都–成华区 电信 | 显示全部楼层
QUOTE:
原帖由 mqkng 于 2007-8-30 22:47 发表
如果有一定规律,则简单的写一个代码,用Office的VBA都很容易实现。



谢谢斑竹。我试试看
回复 支持 反对

使用道具 举报

2232

回帖

49

积分

7106

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2004-11-21
发表于 2007-8-30 22:51:49| 字数 12| - 中国–江苏–无锡–江阴市 电信 | 显示全部楼层
找人写个程序,很简单的。
So we beat on, boats against the current, borne back ceaselessly into the past.
回复 支持 反对

使用道具 举报

450

回帖

12

积分

635

资产值

黄金会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-12-20
发表于 2007-8-30 22:53:08| 字数 16| - 美国 犹他大学 | 显示全部楼层
用Unix的grep命令就可以。
X60 T7200
X200s SL9400
X201s i7-LM640
T430s i7-3520M
回复 支持 反对

使用道具 举报

3768

回帖

1

积分

4052

资产值

初级会员 Rank: 1

注册时间
2006-1-20
发表于 2007-8-30 22:59:59| 字数 196| - 中国–广东–广州–天河区 电信 | 显示全部楼层
QUOTE:
原帖由 水无涯 于 2007-8-30 22:49 发表
另外如何统一为文本添加相同的内容。例如:


1
2
3
4
5
如何在他们的后面统一添加222

添加后就变为:
1222
2222
3222
4222
5222

这贴的版主多哇……

正则替换这种功能好像很多文本编辑器都有,我用EmEditor
Replace的时候,Find: (^\d{1})$,Replace with: \1222
当然要选项里面勾上使用正则表达式搜索
回复 支持 反对

使用道具 举报

3837

回帖

2

积分

1894

资产值

初级会员 Rank: 1

注册时间
2004-9-20
发表于 2007-8-30 23:14:13| 字数 109| - 中国–福建–厦门 电信 | 显示全部楼层
晕,只从一个文件里面提取啊……

给你个东西,珍藏好几年了,非常之好用啊,当年我从30多万个txt(网页爬来的会员资料)的html代码里面提取信息并做成了数据库,就是用这个做的,太NB了~~

我再赞一下做这个东西的人,呵呵。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
求助园艺高手:如何修枝??
回复 支持 反对

使用道具 举报

1277

回帖

1

积分

1402

资产值

初级会员 Rank: 1

注册时间
2002-7-8
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
 楼主| 发表于 2007-8-31 00:21:05| 字数 144| - 中国–四川–成都–成华区 电信 | 显示全部楼层
QUOTE:
原帖由 softice616 于 2007-8-30 23:14 发表
晕,只从一个文件里面提取啊……

给你个东西,珍藏好几年了,非常之好用啊,当年我从30多万个txt(网页爬来的会员资料)的html代码里面提取信息并做成了数据库,就是用这个做的,太NB了~~

我再赞一下做这 ...


谢谢xd。
回复 支持 反对

使用道具 举报

1277

回帖

1

积分

1402

资产值

初级会员 Rank: 1

注册时间
2002-7-8
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
 楼主| 发表于 2007-8-31 00:25:35| 字数 367| - 中国–四川–成都–成华区 电信 | 显示全部楼层
QUOTE:
原帖由 cxcx 于 2007-8-30 22:59 发表

这贴的版主多哇……

正则替换这种功能好像很多文本编辑器都有,我用EmEditor
Replace的时候,Find: (^\d{1})$,Replace with: \1222
当然要选项里面勾上使用正则表达式搜索



老大。好像有点复杂呀。有没有比较简单的。直接在后面追加的。因为可能每一行每一个数字的位数不一样。但是可以保证的是,每一行肯定只有一个数字。像这样

1
23
345
4
8462435213
2356
456


现在需要在每一行后面添加上一样的字符,不一定是数字。例如。统一加上china。得到的结果如下:

1china
23china
345china
4china
8462435213china
2356china
456china


实在是单位需要。没有办法。从文本中提取已经解决了。多谢各位xd的解救。
回复 支持 反对

使用道具 举报

3768

回帖

1

积分

4052

资产值

初级会员 Rank: 1

注册时间
2006-1-20
发表于 2007-8-31 01:04:15| 字数 235| - 中国–广东–广州–天河区 电信 | 显示全部楼层
QUOTE:
原帖由 水无涯 于 2007-8-31 00:25 发表



老大。好像有点复杂呀。有没有比较简单的。直接在后面追加的。因为可能每一行每一个数字的位数不一样。但是可以保证的是,每一行肯定只有一个数字。像这样

1
23
345
4
8462435213
2356
456


...

每一行最后一位保证都是数字吗?那可以这样:
Find: (^\.*d{1})$,Replace with: \1china
把china换成你需要的就可以了

一点编程基础都不懂的话确实解释不清,或者你可以试试楼上xd推荐的工具

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

3837

回帖

2

积分

1894

资产值

初级会员 Rank: 1

注册时间
2004-9-20
发表于 2007-8-31 01:14:01| 字数 145| - 中国–福建–厦门 电信 | 显示全部楼层
QUOTE:
原帖由 水无涯 于 2007-8-31 00:25 发表



老大。好像有点复杂呀。有没有比较简单的。直接在后面追加的。因为可能每一行每一个数字的位数不一样。但是可以保证的是,每一行肯定只有一个数字。像这样

1
23
345
4
8462435213
2356
456


...


我要一朵10nb的小花。

word:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
求助园艺高手:如何修枝??
回复 支持 反对

使用道具 举报

1万

回帖

238

积分

8万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2005-9-26
银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)月全勤勋章年全勤勋章2023年全勤勋章2024
发表于 2007-8-31 01:14:23| 字数 72| - 中国–湖南–长沙 电信 | 显示全部楼层
1、excel打开文本,数字都在A列,B列替换为china,另存为新文本;

2、用记事本打开新方本,将数字后面的空格+china替换为china。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

9万

回帖

603

积分

21万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2004-6-23
发表于 2007-8-31 01:20:07| 字数 43| - 中国–广东–深圳 天威视讯 | 显示全部楼层
其实后面加字, 用一般的文本编辑软件的宏可以比较方便地实现. 这样:

下一行
到行未
加东西
循环
回复 支持 反对

使用道具 举报

9万

回帖

603

积分

21万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2004-6-23
发表于 2007-8-31 01:20:38| 字数 15| - 中国–广东–深圳 天威视讯 | 显示全部楼层
上面用excel的想法也很好.
回复 支持 反对

使用道具 举报

3837

回帖

2

积分

1894

资产值

初级会员 Rank: 1

注册时间
2004-9-20
发表于 2007-8-31 01:23:27| 字数 118| - 中国–福建–厦门 电信 | 显示全部楼层
寒啊,这么多方法了
我再来一个

dim TMP as integter

Private Sub Command1_Click()
tmp=replace(text1.text,Chr(13) + Chr(10),text2.text)
end sub

......
求助园艺高手:如何修枝??
回复 支持 反对

使用道具 举报

9万

回帖

603

积分

21万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2004-6-23
发表于 2007-8-31 01:26:19| 字数 196| - 中国–广东–深圳 天威视讯 | 显示全部楼层
QUOTE:
原帖由 softice616 于 2007-8-31 01:23 发表
寒啊,这么多方法了
我再来一个

dim TMP as integter

Private Sub Command1_Click()
tmp=replace(text1.text,Chr(13) + Chr(10),text2.text)
end sub

......


这种方法都需要建立一个执行环境,,,,对于没有基础的人来说, 建立环境比登天还难...
回复 支持 反对

使用道具 举报

3837

回帖

2

积分

1894

资产值

初级会员 Rank: 1

注册时间
2004-9-20
发表于 2007-8-31 01:28:20| 字数 130| - 中国–福建–厦门 电信 | 显示全部楼层
QUOTE:
原帖由 Drifter 于 2007-8-31 01:26 发表


这种方法都需要建立一个执行环境,,,,对于没有基础的人来说, 建立环境比登天还难...




其实用好了office那套东西,基本上除了批量操作的事情,都可以做好。

玩转了office的高手,批量照样好用。
求助园艺高手:如何修枝??
回复 支持 反对

使用道具 举报

9万

回帖

603

积分

21万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2004-6-23
发表于 2007-8-31 01:29:46| 字数 111| - 中国–广东–深圳 天威视讯 | 显示全部楼层
QUOTE:
原帖由 softice616 于 2007-8-31 01:28 发表




其实用好了office那套东西,基本上除了批量操作的事情,都可以做好。

玩转了office的高手,批量照样好用。


同意. office可以用博大精深来形容.
回复 支持 反对

使用道具 举报

3837

回帖

2

积分

1894

资产值

初级会员 Rank: 1

注册时间
2004-9-20
发表于 2007-8-31 01:30:49| 字数 97| - 中国–福建–厦门 电信 | 显示全部楼层
QUOTE:
原帖由 Drifter 于 2007-8-31 01:29 发表


同意. office可以用博大精深来形容.



微软干的最大的好事就是这个了,哈哈!

office这东西我觉得是世界上同类里最好的软件了。
求助园艺高手:如何修枝??
回复 支持 反对

使用道具 举报

9万

回帖

603

积分

21万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2004-6-23
发表于 2007-8-31 01:34:04| 字数 106| - 中国–广东–深圳 天威视讯 | 显示全部楼层
QUOTE:
原帖由 softice616 于 2007-8-31 01:30 发表



微软干的最大的好事就是这个了,哈哈!

office这东西我觉得是世界上同类里最好的软件了。


其实windows的功劳还是巨大的, 这是不可否认的.
回复 支持 反对

使用道具 举报

3837

回帖

2

积分

1894

资产值

初级会员 Rank: 1

注册时间
2004-9-20
发表于 2007-8-31 01:38:45| 字数 95| - 中国–福建–厦门 电信 | 显示全部楼层
QUOTE:
原帖由 Drifter 于 2007-8-31 01:34 发表


其实windows的功劳还是巨大的, 这是不可否认的.



对,微软为了普及office,只好做出了第二大贡献的windows平台。
求助园艺高手:如何修枝??
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2007-8-31 01:42:13| 字数 172| - 中国–四川–绵阳 电信 | 显示全部楼层
花了一点时间,以我原来其他项目修改给你做了一个,应该符合你的要求



说明:
1、你最先说明是可追加为“数字”,我理解为数字做的。如果你要添加为字符串“如CHINA”,就只有生成出来后,在WORD中替换了。
实在需要我可以再给你修正。估计要我有空后才能,最近工作太忙。

2、字符最短暂没有做。需要以后加吧

图一为,你代码转换的结果
图二为,随意代码转换的结果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

9万

回帖

603

积分

21万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2004-6-23
发表于 2007-8-31 01:42:43| 字数 81| - 中国–广东–深圳 天威视讯 | 显示全部楼层
QUOTE:
原帖由 softice616 于 2007-8-31 01:38 发表



对,微软为了普及office,只好做出了第二大贡献的windows平台。


也是一个不错的解释
回复 支持 反对

使用道具 举报

9万

回帖

603

积分

21万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2004-6-23
发表于 2007-8-31 01:43:22| 字数 9| - 中国–广东–深圳 天威视讯 | 显示全部楼层
楼上的高人真好人啊
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2007-8-31 01:45:41| 字数 35| - 中国–四川–绵阳 电信 | 显示全部楼层
另:如果只有单一数字不作处理,如:123456876874643413
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2007-8-31 01:47:02| 字数 87| - 中国–四川–绵阳 电信 | 显示全部楼层
QUOTE:
原帖由 Drifter 于 2007-8-31 01:43 发表
楼上的高人真好人啊



今天看了他的要求,感觉很久没有为51NB朋友服务了,所以花了点时间,做成这个样子了。。。。
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

9万

回帖

603

积分

21万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2004-6-23
发表于 2007-8-31 01:48:50| 字数 84| - 中国–广东–深圳 天威视讯 | 显示全部楼层
QUOTE:
原帖由 mqkng 于 2007-8-31 01:47 发表



今天看了他的要求,感觉很久没有为51NB朋友服务了,所以花了点时间,做成这个样子了。。。。


还是要赞一下的.
回复 支持 反对

使用道具 举报

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

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2025-2-12 23:20 , Processed in 0.200662 second(s), 65 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部