统计字符串中子字符串出现的次数,并归类。
例如:02-03-04-05-06-07-08-09-10-10
统计结果为:
【0次】:01
【1次】:02 03 04 05 06 07 08 09
【2次】:10次数的最大不定,也有可能千次或千万次。没有的就不显示出来:例如【3次】没有就不显示出来请问这算法的思路是怎样的呢? 集思广益。 求思路,不一定要代码。希望各位涌跃发言,新手分少点,不好意思。
例如:02-03-04-05-06-07-08-09-10-10
统计结果为:
【0次】:01
【1次】:02 03 04 05 06 07 08 09
【2次】:10次数的最大不定,也有可能千次或千万次。没有的就不显示出来:例如【3次】没有就不显示出来请问这算法的思路是怎样的呢? 集思广益。 求思路,不一定要代码。希望各位涌跃发言,新手分少点,不好意思。
解决方案 »
- MD5验证数据库记录合法性
- fastreport的简单问题,急死我了 ,来帮帮我吧 谢谢大家
- 用RXLIB控件包里的RxRichEdit如何显示图像?
- 有一些word文档,图片,想做成多媒体光盘型式,用什么工具比较好,推荐几个
- 打开程序出现错误,什么原因?100分求解!
- 我的程序一运行怎么就象没有响应了一样?
- 解决众多小生的问题(为什么要用三层,那种开发方式好,还有名词与解释)
- 请问用ADOTable的filter来模糊过滤,是用什么,是*还是%,还是...(*和%好像都不行)
- 关于统计
- 在delphi中怎么执行”describe gc_gcxx“这样的语句(oracle 8.05)
- 为何我调用DLL提示我"Privileged instruction"错误?, 急
- iocomp 连接远程 OPC server的问题
implementation
uses StrUtils;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
StrList : array[1..10] of string;
i,j,k,Count :integer;
begin
S :='02-03-04-05-06-07-08-09-10-10';
for i := 1 to 9 do //初始化要检查的子串
StrList[i] := '0'+IntToStr(i);
StrList[10] := '10';
for i := 1 to 10 do //对每个子串检查出现次数
begin
Count := 0;
k := 1;
for j := 1 to Length(S)-1 do
if PosEx(StrList[i],S,k)>0 then
begin
Inc(Count);
k := PosEx(StrList[i],S,k)+Length(StrList[i]);
end;
ShowMessage(StrList[i]+Format(' 出现: %d 次',[Count]));
end;end;end.