我想搜索一个字符串里含有几个指定的字符,应该用哪个函数可以实现?比如说我现在有字符串:
  'rttttfgh343434aaaaafdl'   我想得到这个字符串含有几个 't',应该怎么做呢?

解决方案 »

  1.   

    可以循环遍历啊我还不知道用哪个函数,呵呵。var 
       count,i:integer;
    begin
        for i:1= length(S) do
          if S[i]='t' Then inc(count);
    end;
      

  2.   

    function GetCharCount(Str: tstrings; Des: Char): integer;
    var
      i,j:integer;
    begin
      for i := 0 to Str.Count- do
      begin
        if Str[i]=Des then
         inc(j);
      end;
      Result:=j;
    end;
      

  3.   

    function GetSubStrCount(subStr, Str: string): integer;
    var
      i, j: Integer;
    begin
      j := 0;
      i := pos(substr, Str);
      while i <> 0 do
      begin
        Inc(j);
        Str := copy(Str, i + 1, length(Str) - i);
        i := pos(subStr, Str);
      end;
      Result := j;
    end;
      

  4.   

    教你个最简单的方法(一般人我不告诉他)
    uses strutilss:='rttttfgh343434aaaaafdl';
    showmessage(inttostr(length(s)-length(AnsiReplaceStr(s,'t',''))))
      

  5.   

    s:='rttttfgh343434aaaaafdl'
     你不会叫楼主有一个字符串就来一个变量吧?
      

  6.   

    如果是Delphi 2005的话可以用:
    var
      ch: char;      //当前字符
      str: string;   //原始字符串
      count:         //字符统计
    begin
      str:='rttttfgh343434aaaaafdl';
      count:=0;  for ch in str do
        if ch='t' then
          Inc(count);
    end;
      

  7.   

    其实大家一般都会用循环来得到的,不过hellolongbin(一个人[.net学习中……])提供的方法确实感觉不错,不愧是有星的,想法就是和别人不一样