中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 18:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]文本内容提取 查看 2,900 回复 43
16 发表于 2009-04-12 12:48 ·  中国 四川 遂宁 电信
初级用户
积分 34
发帖 30
注册 2008-11-24 15:21
17年会员
UID 131962
性别 男
状态 离线
Originally posted by netbenton at 2009-4-12 12:18:
已经修改过了,你的附件我下不了,你自己测试一下吧,
贴出来的数据已经通过了测试,这次应该可以了的

@echo off&setlocal enabledelayedexpansio ... 

麻烦您一下,可能我的表述不十分清楚。
有个问题:
UNITED STATES OF AMERICA (US)

PATENT (Number; Kind; Date): United States of America (US)

开始部分完全与之一样,不是分为两段。
没有“UNITED STATES OF AMERICA (US)”,只是“PATENT (Number; Kind; Date): United States of America (US)”后面的文摘不需要。不知能不能办到?

[ Last edited by lxh623 on 2009-4-12 at 12:50 ]
17 发表于 2009-04-12 12:55 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
不明白,如果只是小改动,麻烦你自己搞一下了,
我要下了。。。

[ Last edited by netbenton on 2009-4-12 at 10:58 ]
精简
=> 个人网志
18 发表于 2009-04-12 22:21 ·  中国 四川 遂宁 电信
初级用户
积分 34
发帖 30
注册 2008-11-24 15:21
17年会员
UID 131962
性别 男
状态 离线
EmEditor中,UNITED STATES OF AMERICA (US)/n/nPATENT (Number; Kind; Date): United States of America (US)
这样的正则表达式作为开始字符串。怎样做?求求您!
19 发表于 2009-04-12 22:29 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
得用跨行正则表达式,WINDOWS 的回车换行是\r\n

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
20 发表于 2009-04-12 22:52 ·  中国 四川 遂宁 电信
初级用户
积分 34
发帖 30
注册 2008-11-24 15:21
17年会员
UID 131962
性别 男
状态 离线
ho=UNITED STATES OF AMERICA (US)\r\n\r\nPATENT (Number; Kind; Date): United States of America (US)
替换code第一行依然如故,希望“TITLE”出来100个,现在出来159个。
21 发表于 2009-04-12 23:00 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
用正则表达式很容易实现,只是不知楼主究竟要保留那些内容,都搞糊涂了~~~
22 发表于 2009-04-12 23:05 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
光是网上的文字表达很吃力啊
哈哈

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
23 发表于 2009-04-12 23:12 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
楼主是怎么学会正则表达式的,好奇问下
我自己是在学PYTHON 的时候学的

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
24 发表于 2009-04-12 23:20 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
楼主是怎么学会正则表达式的,好奇问下
我自己是在学PYTHON 的时候学的


楼主应该不会正则表达式的,会的话,就不会来求助了
25 发表于 2009-04-12 23:47 ·  中国 四川 遂宁 电信
初级用户
积分 34
发帖 30
注册 2008-11-24 15:21
17年会员
UID 131962
性别 男
状态 离线
Originally posted by freeants001 at 2009-4-12 23:00:
用正则表达式很容易实现,只是不知楼主究竟要保留那些内容,都搞糊涂了~~~

蓝色部分(“UNITED STATES OF AMERICA (US)\r\n\r\nPATENT (Number; Kind; Date): United States of America (US)”,到下一个“PATENT (Number; Kind; Date): ”),以及要求2所有行。

正则表达式懂一点点,是因为要制作文献软件Biblioscape过滤器。正则表达式半懂不懂,但是批处理还是不太一样。俺学化学的,外行一个,向诸位学习致敬。

[ Last edited by lxh623 on 2009-4-12 at 23:50 ]
26 发表于 2009-04-13 00:07 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
批处理不支持正则表达式。。。。
需要用像我说的FR 那样的第三方命令行工具。
findstr 不完全支持正则表达式。

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
27 发表于 2009-04-13 00:13 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
是不是处理过后还保留原来的内容顺序

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
28 发表于 2009-04-13 00:13 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
Originally posted by yishanju at 2009-4-13 00:07:
批处理不支持正则表达式。。。。
需要用像我说的FR 那样的第三方命令行工具。
findstr 不完全支持正则表达式。


vbs,js中有啊,而且是系统自带的~~
29 发表于 2009-04-13 00:21 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
这个不只是否符合要求
File_Path=WScript.arguments(0);
var sss,arr="",osss="";
var fso=new ActiveXObject("scripting.filesystemobject");
var fl=fso.opentextfile(File_Path,1);sss=fl.readall();
fl=fso.opentextfile(File_Path+"_转换后.txt",2,true);
var re=/\r\nUNITED STATES OF AMERICA \(US\)\s*PATENT \(Number; Kind; Date\): United States of America \(US\)*?\r\nPATENT \(Number; Kind; Date\)\:.*|PATENT \(Number; Kind; Date\): European Patent Office \(EP\).*|PATENT \(Number; Kind; Date\): United States of America \(US\).*|PATENT \(Number; Kind; Date\): World Intellectual Property Organisation \(WO\).*|PATENT \(Number; Kind; Date\): Canada \(CA\).*|PATENT \(Number; Kind; Date\): People's Republic of China \(CN\).*|PATENT \(Number; Kind; Date\): Japan \(JP\).*|PATENT \(Number; Kind; Date\): Republic of Korea \(KR\).*|PATENT \(Number; Kind; Date\): United Kingdom \(GB\).*|PATENT \(Number; Kind; Date\): Germany \(DE\).*|PATENT \(Number; Kind; Date\): France \(FR\).*|PATENT \(Number; Kind; Date\): Russian Federation \(RU\).*\:.*/g
while ((arr=re.exec(sss))!=null)osss=osss+arr+"\r\n";
fl.write(osss);
WScript.echo("ok")
30 发表于 2009-04-13 00:32 ·  中国 四川 遂宁 电信
初级用户
积分 34
发帖 30
注册 2008-11-24 15:21
17年会员
UID 131962
性别 男
状态 离线
Originally posted by freeants001 at 2009-4-13 00:21:
这个不只是否符合要求
File_Path=WScript.arguments(0);
var sss,arr="",osss="";
var fso=new ActiveXObject("scripting.filesystemobject");
var fl=fso.op ...

谢谢您!
怎样操作?不是bat?仍然JS?
论坛跳转: