关于txt的问题(段落的选取) (在线等待) (50分)

  • 主题发起人 real2001
  • 开始时间
R

real2001

Unregistered / Unconfirmed
GUEST, unregistred user!
正文如下:
第一条 为保证全国人民代表大会和地方各级人民代表大会代表依法行使代表
的职权,履行代表的义务,发挥代表作用,根据宪法,制定本法。
第二条 全国人民代表大会和地方各级人民代表大会代表依照法律规定选举产生。
全国人民代表大会代表是最高国家权力机关组成人员,地方各级人民代表大会代
表是地方各级国家权力机关组成人员。
全国人民代表大会和地方各级人民代表大会代表,代表人民的利益和意志,依照
宪法和法律赋予本级人民代表大会的各项职权,参加行使国家权力。

?如果想把含有“行使国家权力”的第二条选出来能做到吗?如何做?
 
先分行,再找该行中的"】"字符位置,取其后的字符有问题吗?
 
标题用固定的字符长度,取那个长度后面的就可以了
 
Nstar...
具体如何呢?代码?
 
我原来有个从股票的股本信息中抽取财务数据的CODE,
我找找贴上来
 
但因为格式不是固定的,就是说【标  题】、【时 效 性】、【颁布时间】这些要取的字段
并不是按顺序排好的,只能通过【标  题】这些字符串来判断后面的是属于标题字段的。
 
Str := '【标  题】国务院办公厅关于做好农民进城务工就业管理和服务工作的通知'
TmpStr := trim(copy(Str,Pos('】',str)+2,200));
再将TmpStr存入数据库即可
 
var
f:TextFile;
a,b:string;//a为文件名
begin
AssignFile(f,a);
Reset(f);
while not SeekEof(f) do
begin
Readln(f,b);
if (Pos('【标  题】',b)=1) then
//处理长度 取]后的字符
end;
CloseFile(f);
end;
 
我也正在为这个问题发愁呢
 
var
i:integer;
s,ss:string;
begin
//readln读出一行到s
......
i:=pos('】',s);
ss:=copy(s,i+2,255);

end;
 
假如 s=第一行的内容。
用i:=pos('】',s) //i等于】在s中的位置数。
s1:=copy(s,i+1,length(s)-i);//s1为所要内容。
 
多谢大家了,有些想法了。正在进行着
 
考虑作为Tinifile处理
 
有人关注吗?提些意见吧?
 
我以前也是按copy(Str,Pos('】',str)+2,200)这种方式做的。
 
copy(Str,Pos('】',str)+2,200)这种方式是满不错的,但怎么确定属于哪一字段(如标题,修订时间等)有什么好的方法吗?
小弟的程序太复杂了。
 
首先将‘】’的位置分别找出存在数组中,因为你的文件格式是固定的,
所以a[1]是标题....依次类推,然后用copy(str,a+2,a[i+1]-a+2);
 
ww20000309:格式并不固定,意思说第一行并不一定是标题,有可能是实施时间。有好的方法吗?
 
如下面还有正文,如何取得正文的内容呢?进来的兄弟写写意见吧
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部