如何從一篇文章裏得知某一字串重覆次數 |
答題得分者是:hagar
|
bnlonq1022
一般會員 發表:6 回覆:17 積分:4 註冊:2003-07-17 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
試試看:
var i, iPos: integer; sSearch: string; sl: TStringList; begin sSearch:= 'SearchString'; sl := TStringList.Create; try i := 0; sl.LoadFromFile('c:\xx.txt'); iPos := Pos(sSearch, sl.Text); while iPos <> 0 do begin Inc(i); Delete(sl.Text, iPos, Length(sSearch)); iPos := Pos(sSearch, sl.Text); end; finally sl.Free; end; ShowMessage('出現 ' IntToStr(i) ' 次'); end;-- hagar. |
bnlonq1022
一般會員 發表:6 回覆:17 積分:4 註冊:2003-07-17 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
Sorry! 改一下:
var i, iPos: integer; sSearch, sTmp: string; sl: TStringList; begin sSearch:= 'SearchString'; sl := TStringList.Create; try i := 0; sl.LoadFromFile('c:\xx.txt'); sTmp := sl.Text; iPos := Pos(sSearch, sTmp); while iPos <> 0 do begin Inc(i); Delete(sTmp, iPos, Length(sSearch)); iPos := Pos(sSearch, sTmp); end; finally sl.Free; end; ShowMessage('出現 ' IntToStr(i) ' 次'); end;-- hagar. |
bnlonq1022
一般會員 發表:6 回覆:17 積分:4 註冊:2003-07-17 發送簡訊給我 |
|
suda
一般會員 發表:17 回覆:63 積分:16 註冊:2002-05-10 發送簡訊給我 |
|
bnlonq1022
一般會員 發表:6 回覆:17 積分:4 註冊:2003-07-17 發送簡訊給我 |
|
suda
一般會員 發表:17 回覆:63 積分:16 註冊:2002-05-10 發送簡訊給我 |
再提供一個更快且適合大型檔案的方式
還可以使用分段載入memory的方式加上thread及循環串列等等,
以加快速度及資源的利用
procedure TForm1.Button1Click(Sender: TObject); var st:Tstringstream; charPos,MatchCharCount,MatchSCount,sLength:integer; s:string; c:char; begin st:=tstringstream.create(memo1.Lines.Text);//可以換成filestream s:='abc'; charPos:=1; sLength:=length(s); MatchCharCount:=0; MatchSCount:=0; repeat st.read(c,1); if s[charpos]=c then begin inc(MatchCharCount); if MatchCharCount=sLength then begin inc(MatchSCount); charpos:=0; end; inc(charpos); end else begin if MatchCharCount>0 then begin charpos:=1; MatchCharCount:=0 end; end; until st.Position=st.Size ; st.free; showmessage(inttostr(MatchSCount)); end;發表人 - suda 於 2005/05/06 11:46:05 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |