powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Разбить строки на подстроки по разделителю
8 сообщений из 8, страница 1 из 1
Разбить строки на подстроки по разделителю
    #32127292
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно зазбить строку , на подстроки , используя для этого разделитель
(в моём случае запятую)
В С++ была такая функция StrToK() а в делфи я не нашёл подобного
В делфи6 можно, используя проперть TStrings.delimiter но у меня делфи5.
...
Рейтинг: 0 / 0
Разбить строки на подстроки по разделителю
    #32127303
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у тебя запятая, то можно так:

Код: plaintext
1.
t := TStringList.Create;
t.Text := 'ddd,eee';


А с произвольным разделителем тоже можно, даже в Delphi5.

Код: plaintext
1.
2.
t := TStringList.Create;
t.Delimiter := ',';
t.DelimitedText := 'ddd,eee';


За верность синтаксиса не ручаюсь, Delphi под рукой нет
...
Рейтинг: 0 / 0
Разбить строки на подстроки по разделителю
    #32127305
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TStrings.CommaText

Lists the strings in the TStrings object in system data format (SDF).

property CommaText: string;

Description

Use CommaText to get or set all the strings in the TStrings object in a single comma-delimited string.

When retrieving CommaText, any string in the list that include spaces, commas or quotes will be contained in double quotes, and any double quotes in a string will be repeated. For example, if the list contains the following strings:

Stri,ng 1

Stri"ng 2
String 3
String4

CommaText will return:

"Stri,ng 1","Stri""ng 2","String 3",String4

When assigning CommaText, the value is parsed as SDF formatted text. For SDF format, strings are separated by commas or spaces, and optionally enclosed in double quotes. Double quote marks that are part of the string are repeated to distinguish them from the quotes that surround the string. Spaces and commas that are not contained within double quote marks are delimiters. Two commas next to each other will indicate an empty string, but spaces that appear next to another delimiter are ignored. For example, suppose CommaText is set to:

"Stri,ng 1", "Stri""ng 2" , String 3,String4

The list will then contain:

Stri,ng 1

Stri"ng 2
String
3
String4
...
Рейтинг: 0 / 0
Разбить строки на подстроки по разделителю
    #32127348
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CommaText не то
Попробуй сам
...
Рейтинг: 0 / 0
Разбить строки на подстроки по разделителю
    #32127360
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что значит просто

t := TStringList.Create;
t.Text := 'ddd,eee';

Что дальше? Может я не доганяю, но в этом случае
t.strings[0] будет равно 'ddd,eee'
???

нет в делфи5 такого свойства как
t.Delimiter ;
t.DelimitedText ;
НЕТУ
...
Рейтинг: 0 / 0
Разбить строки на подстроки по разделителю
    #32127364
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще надо быть - function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
в SysUtils
Просто заменить запятую на перевод строки:
StringList.Text := StringReplace(MyString,',',#13#10,[rfReplaceAll]);
...
Рейтинг: 0 / 0
Разбить строки на подстроки по разделителю
    #32127371
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Специально пошел на комп с Delphi5.

Действительно, в 5 работает так:

Код: plaintext
1.
2.
t := TStringList.Create;
t.CommaText := 'ddd,eee';
Assert(t.Strings[ 0 ] = 'ddd')


Извиняюсь за предыдущий постинг.
...
Рейтинг: 0 / 0
Разбить строки на подстроки по разделителю
    #32127448
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо ;_)
А особенно Roman Ignatiev
Всё гениальное просто ;_)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Разбить строки на подстроки по разделителю
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]