Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Разбить строки на подстроки по разделителю / 8 сообщений из 8, страница 1 из 1
26.03.2003, 13:59
    #32127292
Oleg Afanasiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбить строки на подстроки по разделителю
Нужно зазбить строку , на подстроки , используя для этого разделитель
(в моём случае запятую)
В С++ была такая функция StrToK() а в делфи я не нашёл подобного
В делфи6 можно, используя проперть TStrings.delimiter но у меня делфи5.
...
Рейтинг: 0 / 0
26.03.2003, 14:13
    #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
26.03.2003, 14:16
    #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
26.03.2003, 14:47
    #32127348
Oleg Afanasiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбить строки на подстроки по разделителю
CommaText не то
Попробуй сам
...
Рейтинг: 0 / 0
26.03.2003, 14:53
    #32127360
Oleg Afanasiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбить строки на подстроки по разделителю
А что значит просто

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

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

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

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

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


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


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