如何提取特定的数据。

来源:百度知道 编辑:UC知道 时间:2024/05/29 16:30:20
好像Replace Pioneer可以,但看不懂E文

身高:1.80 体重:140 年龄:34
身高:1.73 体重:150 年龄:24
身高:1.78 体重:130 年龄:22
身高:1.82 体重:120 年龄:31
身高:1.77 体重:110 年龄:26

以上我的文本里有一百多万条。
问题是如何设置后,提取 年龄:23 到 年龄:55 之间的行数。
整行的提取出来。
如果Replace Pioneer不能实现的话,还有其他软件吗?
谢谢!

Replace Pioneer 当然可以,只需把满足正则表达式"年龄:(2[3-9]|[3-4][0-9]|5[0-5])"的行保留即可。

详细步骤:

1. ctrl-o打开文本文件
2. ctrl-h打开Replace窗口
* 把Replace Unit选成Line
* 在Search for Pattern输入:
"年龄:(2[3-9]|[3-4][0-9]|5[0-5])"(不带双引号)
* 在Replace with Pattern输入:
"$match\n"(不带双引号)
* 把Print Unmatch Unit前面的勾去掉,表示不保留没有匹配的行。

3. 点击Replace即可。

我现在用的版本是2.41

=============================
补充:这里我再给你一个通用的办法,你以后可以自己写了。
1. ctrl-o打开文件
2. ctrl-h打开replace窗口
(2.1)把Replace Unit选成Chars
(2.2)把Replace Scope选成Line
(2.3)在search for pattern输入:
".*'数字左边的符号'(\d+)'数字右边的符号'.*"(不带双引号)
(2.4)在Replace with pattern输入"$match"(不带双引号)
(2.5)去掉Print Unmatch Unit前面的勾
(2.6)在If => 输入:
$var[1] >= 23 && $var[1] <=55(23和55是你要保留的数字范围)
3. 点击Replace即可。

以下是对于你的具体例子,在(2.3)步应该填的内容:

(68)
&