首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

想统计memo组件里面的某个单词的数量,请高手赐教,多谢

2012-03-15 
想统计memo组件里面的某个单词的数量,请高手赐教,谢谢。想统计memo组件里面的某个单词的数量,例如,memo里面

想统计memo组件里面的某个单词的数量,请高手赐教,谢谢。
想统计memo组件里面的某个单词的数量,例如,memo里面有多少个word这样的词语,
本人瞎写了一段,但没法实现。谢谢


var
            Tem1,Tem2:string;
          Tem_int,i,j:integer;

    begin
                      j:=0;
            tem1:=memo1.text;
            Tem2:=edit1.text;
            for   i:=0       to     memo1.MaxLength       do
            begin
            Tem_int:=pos(Tem2,Tem1);
            j:=j+1;
            end;
          label1.caption:=inttostr(j);


[解决办法]
有一个比较简单的方法,CSDN上原来有人用过,就是
i:=Length(memo1.text)
Memo1.Text:=StringReplace(Memo1.Text,Edit1.Text,[rfReplaceAll, rfIgnoreCase]);
label1.caption:=(i-Length(Memo1.Text))/Length(Edit1.Text);
[解决办法]
const
V = 'word ';
var
I : integer;
S : string;
begin
{ 如果分布在两行上的单词也计算,就加这句,否则,就是:S := Memo1.Text }
S := StringReplace(Memo1.Text,#13#10, ' ',[rfReplaceAll]);
I := Length(S);
S := StringReplace(S,V, ' ',[rfReplaceAll,rfIgnoreCase]);
Showmessage(FloatToStr((I-Length(S)) / Length(V)));
end;

热点排行