OfParts - подсчет частей текста

Готовые скрипты, модули расширений, динамические библиотеки и вспомогательные утилиты.
Аватара пользователя
Владимир
Администратор
Сообщения: 609
Зарегистрирован: 10 фев 2018, 18:27
Откуда: Белгород
Контактная информация:

OfParts - подсчет частей текста

Сообщение Владимир » 29 окт 2019, 11:20

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

Код: Выделить всё

OfParts([Текст],[Символ-разделитель])
Параметры:
1. [текст] Текст, в котором необходимо посчитать количество частей
2. [текст] Символ-разделитель. Для безошибочного подсчета в тексте рекомендуется использовать символ, не присутствующий внутри разбираемых частей

Результат: [число] Количество найденных в тексте частей

Пример:

Код: Выделить всё

OfParts('Яблоко; Персик; Виноград',';')  // результат = 3
Код расширенияПоказать

Код: Выделить всё

{@module
  Author=Develop-Soft [ https://forum.develop-soft.ru ]
  Version=1.0
  Description=OfParts - Функция подсчитывает количество частей текста с
  указанным разделителем
@}

{@function
  OrigName=OfParts
  Name=OfParts
  Args=vv
  Result=n
  Group=Текст
  Description=
  <b>Функция подсчитывает количество частей текста с указанным разделителем</b>
<br><br>
<code>OfParts([<i>Текст</i>],[<i>Символ-разделитель</i>])<code><br> <br>
<b>Параметры:</b> <br><br>
<b>1.</b><i>[текст]</i> Текст, в котором необходимо посчитать количество частей
<br><br>
<b>2.</b> <i>[текст]</i> Символ-разделитель. <i>Для безошибочного подсчета в тексте
рекомендуется использовать символ, не присутствующий внутри разбираемых частей</i>
<br><br>
<b>Результат:</b> <i>[число]</i> Количество найденных в тексте частей <br><br>
<b>Пример:</b><br><br>
<code>OfParts('Яблоко; Персик; Виноград',';') <i>// результат = 3</i><code>
<br><br><br>
@}

function OfParts(Txt:variant;Dm:variant):integer;
var S,D:string;
    SL:TStringList;
begin
  result:=0;
  S:=VarToStr(Txt);
  D:=VarToStr(Dm);
  if (Trim(S)='') or (Trim(D)='') then exit;
  S:=Utf8StringReplace(S,D,#13#10,[rfReplaceAll]);
  SL:=TStringList.Create;
  SL.Text:=S;
  result:=SL.Count;
  S:=#0;
  D:=#0;
  SL.Free;
end;

Скачать:
OfParts.epas
(1.68 КБ) 39 скачиваний

Демо


Поддержка проекта



Теги:

Быстрый ответ

Смайлики
:-) ;-) :-( :-[ :-D :-P O_O :bye: :good: :help: :lol: :ok: :pardon: :sorry: :yes:
Ещё смайлики…
Загрузить изображение