注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

查找指定字符串个数的函数   

2013-03-10 18:15:07|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
有什么函数能够返回字符串中指定字符的个数呢?该如何解决

 有什么函数能够返回字符串中指定字符的个数呢? 
如题 ------解决方案--------------------------------------------------------
 procedure TForm1.Button1Click(Sender: TObject); 
 function GetCharCount( subStr:string;str:string ):Integer; 
 var 
   Index:Integer; 
   tempStr:string; 
   Count:Integer; 
 begin 
   tempStr:= 'aabbccaattff '; Count:=0; 
   Index:=Pos( 'a ', tempStr ); 
   while Index > 0 do 
   begin 
     Inc( Count ); 
     tempStr:=Copy( tempStr,Index+1,length( tempStr ) - Index ); 
     Index:=Pos( 'a ', tempStr ); 
   end; 
   Result:=Count; 
 end; 
 begin 
    showmessage( IntToStr( GetCharCount( 'a ', 'aabbccaattff ') ) ); 
 end; 
------解决方案-------------------------------------------------------- 
procedure TForm1.Button1Click(Sender: TObject); 
 function GetCharCount( subStr:string;str:string ):Integer; 
 var 
   Index:Integer; 
   tempStr:string; 
   Count:Integer; 
begin 
   tempStr:= 'aabbccaattff '; 
   Count:=0; 
   Index:=Pos( 'a ', tempStr ); while Index > 0 do 
   begin 
    Inc( Count ); 
    tempStr:=Copy( tempStr,Index+1,length( tempStr ) - Index ); 
    Index:=Pos( 'a ', tempStr ); 
   end; 
   Result:=Count; 
 end; 
 begin 
   showmessage( IntToStr( GetCharCount( 'a ', 'aabbccaattff ') ) ); 
 end;
 ------解决方案-------------------------------------------------------- 
function GetStrCount(vSource,vKey:String):Integer; 
 var 
 vTmpSource:TStrings; 
 vTmpString:String; 
 begin 
 vTmpSource:=TStringList.Create; 
 vTmpString:=vSource; //做个备份 
 vTmpSource.Text:=StringReplace(vTmpString,vKey,#13#10,[rfReplaceAll, rfIgnoreCase]); 
//这里是关键,把关键字改成回车放到TStrings里,TSTrings的个数就是关键字的个数. 
 Result:=vTmpSource.Count; 
 end; 
 ------解决方案-------------------------------------------------------- 
用下面的GetSubStringNumber函数: 
 function GetSubStringNumber(sString, sSub: String): Integer; 
 begin 
   Result := (Length(sString) - Length(StringReplace(sString, sSub, ' ', [rfReplaceAll]))) div Length(sSub); 
 end; 
 procedure TForm1.Button1Click(Sender: TObject); 
 begin 
   ShowMessage(IntToStr(GetSubStringNumber( 'abc1abcde2abcdefg3 ', 'abc '))); 
 end; 
  评论这张
 
阅读(345)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017