A1sCodeбиблиотека 1С

A1sS.Split

Enhanced string splitting with validation, error handling, and advanced options.

Скачать A1sS.bsl →

Сигнатура


Function Split(StringToSplit,
	Prefix = "",
	Suffix = "",
	Delimiter = ",",
	Options = Undefined,
	ConfigPerformanceLog = False,
	ConfigDebugMode = False)
	Export

Параметры

Возврат

Возвращает: Массив строк. Порядок элементов соответствует исходному тексту; при MaxParts>0 хвост попадает в последнюю часть.

  • StringToSplit — Source string to split.
  • Prefix — Prefix for each part (String, опционально: True).
  • Suffix — Suffix for each part (String, опционально: True).
  • Delimiter — Delimiter character(s) (String, по умолчанию: ,).
  • Options — Advanced splitting options (Structure, опционально: True).

Поведение

  • Пустая строка / нет текста → возвращается пустой Array.
  • Delimiter = "" → принудительно заменяется на запятую.
  • Опции по умолчанию: TrimParts=True, SkipEmptyParts=False, MaxParts=0 (без лимита), CaseSensitive=True.
  • Части получаются через StrSplit(...), затем к ним применяется обрезка/фильтрация.
  • Prefix/Suffix добавляются к каждой итоговой части.
  • При ConfigPerformanceLog=True — логируется время; при ошибке и ConfigDebugMode=True — пишется в A1sLog, а результатом будет массив с исходной строкой.

Примеры (по нарастающей)

1) Базовое разделение

A1sS.Split("яблоко, груша, банан");
// ["яблоко", "груша", "банан"]
2) Trim + пропуск пустых

Опции = Новый Структура("TrimParts,SkipEmptyParts", Истина, Истина);
A1sS.Split("a,,  b ,   ,c", ",", "", "", ",", Опции);
// ["a", "b", "c"]
3) MaxParts (хвост в последней части)

Опции = Новый Структура("MaxParts", 3);
A1sS.Split("one:two:three:four", "", "", ":", Опции);
// ["one", "two", "three:four"]
4) Префиксы/суффиксы для каждой части

A1sS.Split("R,G,B", "(", ")", ",", Новый Структура("TrimParts", Истина));
// ["(R)", "(G)", "(B)"]

Смотрите также