![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| ufo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 4.11.2004 Репутация: нет Всего: нет |
есть строковая переменная, например, str.
В ней есть текст:
необходимо удалить все повторные слова из этой переменной, как это сделать? То есть должно быть: Str1 Str2 Str3 Str4 str2. Регистр значение имеет. |
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Вопрос не очень понятен, но попробуй использовать такую функуию
Добавлено @ 14:28 Посмотри модуль StrUtils, в справке есть описание всех функций Это сообщение отредактировал(а) dsergey - 4.1.2005, 14:26 |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Самый простой и тупой способ:
Берешь первую подстроку, сатем, начиная со второй перебираешь все до конца. И, если совпадает, вырезаешь. Затем вторую, третью и т.д. Если очередность не важна, то можно нарезать все в TStringList, затем его отсортировать. Потом пробегаешь от начала до Count-1 (только смотри - Count будет меняться) и, если новая строка равна предыдущей, убиваешь ее. Затем обратно собираешь в строку и ура! Это IMHO самый простой по реализации способ. |
|||
|
||||
| ufo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 4.11.2004 Репутация: нет Всего: нет |
tnx всем
|
|||
|
||||
| ufo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 4.11.2004 Репутация: нет Всего: нет |
Snowy, а если повтор слов имеет значение?
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Повтор как раз и имеет значение.
Если порядок имеет значение, то придется не сортировать список, а сравнивать все вручную. Берем первую строку и перебираем все строки, начиная со следующей. Если одинаковые - убиваем строку. Либо воспользоваться первым вариантом - то же самое, но без использования StringList, а юзая свою функцию разбиения на части и вырезая через delete. Через сортировку конечно проще. Но порядок нарушается... |
|||
|
||||
| ufo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 4.11.2004 Репутация: нет Всего: нет |
Я хотел написать порядок
Добавлено @ 12:46 Впрочем мне тут подкинули исходничок, так что вопрос снят. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
так давай его сюда
|
|||
|
||||
| ufo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 4.11.2004 Репутация: нет Всего: нет |
не очень конечно, но что дали. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |