Разбивка строки на подстроки с использованием заданного разделителя
Автор: Stoma
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Разбивка строки на подстроки с использованием заданного разделителя
Параметры: Str: WideString - Строка для разбивки
Delimiter: String - Разделитель подстрок с строке Str
Результат: TStringList: Список найденных подстрок
Зависимости: System, Sysutils, Classes
Автор: Stoma, stoma@bitex.bg
Copyright: Собственная разработка
Дата: 4 августа 2003 г.
***************************************************** }
function Tokenize(Str: WideString; Delimiter: string): TStringList;
var
tmpStrList: TStringList;
tmpString, tmpVal: WideString;
DelimPos: LongInt;
begin
tmpStrList := TStringList.Create;
TmpString := Str;
DelimPos := 1;
while DelimPos > 0 do
begin
DelimPos := LastDelimiter(Delimiter, TmpString);
tmpVal := Copy(TmpString, DelimPos + 1, Length(TmpString));
if tmpVal <> '' then
tmpStrList.Add(UpperCase(tmpVal));
Delete(TmpString, DelimPos, Length(TmpString));
end;
Tokenize := tmpStrList;
end;
Пример использования:
function TForm1.GetDirNames(FullPath: string): TStringList;
begin
GetDirNames := Tokenize(FullPath, '\');
end;
|