Delphi-Help

Главная Статьи Текст и Строки Количество вхождений подстроки в строку

Количество вхождений подстроки в строку

Оцените материал
(3 голосов)


Количество вхождений подстроки в строку

function CountPos(const subtext: string; Text: string): Integer;
begin
  if (Length(subtext) = 0) or (Length(Text) = 0) or (Pos(subtext, Text) = 0) then
    Result := 0
  else
    Result := (Length(Text) - Length(StringReplace(Text, subtext, '', [rfReplaceAll]))) div
      Length(subtext);
end;

 

Подсчёт количества вхождений символа в строке

Функция считает количество повторений символа заданного InputSubStr в строке InputStr.

function CntChRepet(InputStr: string; InputSubStr: char): integer;
var
  i: integer;
begin
  result := 0;
  for i := 1 to length(InputStr) do
    if InputStr[i] = InputSubStr then
      inc(result);
end;

 

Подсчитать количество вхождений подстроки в строке

Понадобилось подсчитать количество вхождений подстроки в строку, вот и появилась эта функция. Возможно в ней и нет изюминки, но может кому и пригодится.

function CntRecurrences(substr, str: string): integer;
var
  cnt, p: integer;
begin
  cnt := 0;
  while str <> '' do
  begin
    p := Pos(substr, str);
    if p > 0 then
      inc(cnt)
    else
      p := 1;
    Delete(str, 1, (p + Length(substr) - 1));
  end;
  Result := cnt;
end;

 

Кол-во вхождений символа в строку

function SymbolEntersCount(s: string; ch: char): integer;
var
  i: integer;
begin
  Result := 0;
  if Trim(s) <> '' then
    for i := 1 to Length(s) do
      if s[i] = ch then
        inc(Result);
end;
Прочитано 12870 раз

Авторизация



Счетчики