![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Dima85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Есть:
s: string; В ней хранится текст до 5500 символов. Необходимо все символы которые находится в <тут> удалить, вместе с <>. Помогите пожалуйста. |
|||
|
||||
| Rrader |
|
||||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Использование:
Вернет '14' |
||||
|
|||||
| Dima85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Как все сложно. А неужели проще решениев нет?
|
|||
|
||||
| Rrader |
|
|||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Парсинг строки. Все очень просто |
|||
|
||||
| Alix |
|
|||
|
L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 7 Всего: 23 |
имхо, это не оптимально, удалять по одному символу, особенно для больших строк. Я бы сделал так:
Это сообщение отредактировал(а) Alix - 20.3.2008, 17:18 -------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
можно с пом.регулярки в 1 строку
Добавлено через 3 минуты и 43 секунды качаешь TRegExpr подключаешь uses RegExpr и пишешь
-------------------- There are always someone smarter than you... |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Мне вот интересно стало, как можно в string запихнуть строку длинее 255 символов??? -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Alix |
|
||||
|
L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 7 Всего: 23 |
если это AnsiString, а в дельфе так по-умолчанию и есть, то почему бы нет? Добавлено через 1 минуту и 54 секунды
не стоит их юзать там, где можно без них легко обойтись -------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Воть, мой вариант
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Dima85 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Я знаю вот таким способом можно удалять символы с строчки
Так может есть какое-то аналогичное решение, что-то наподобие:
м? Это сообщение отредактировал(а) Dima85 - 20.3.2008, 17:03 |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Хех, точно! Что-то я подзабыл про Delete.
Это сообщение отредактировал(а) Poseidon - 20.3.2008, 17:08 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
обоснуй. разве что если критично быстродействие -------------------- There are always someone smarter than you... |
|||
|
||||
| ama_kid |
|
||||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 15 Всего: 95 |
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Ну, во-первых не вижу особой разницы с моим кодом. Разве что вместо результата функций подставил сами функции (так, кстати, никто не делает т.к. читать код сложно становится). А еще не понятно зачем EndPos объявлять
А вообще "вопрос решен" нужно делать уже. Примеров достаточно -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Alix |
|
|||
|
L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 7 Всего: 23 |
Да, именно из этих соображений. Всему есть предел и иногда удобство программирования не оправдывает потерь скорости. Имхо, мое решение для больших строк лучше. Попробую объяснить. Например, у Rrader - слишком много удалений по одному символу. У Poseidon, это исправлено, но мне кажется неверным способ, когда происходят постоянные удаления из середины строки. В его способе, как и в моем, происходит постоянная работа с памятью, но у меня она только растет (за счет append'a к result), а у него еще и копирование неслабого кол-ва символов. (Да, 5кб копирнуть - это фигня по нынешним временам, но мало ли что...) Если бы не было ключевых слов о том, что строки будут длинными, я бы и не заморачивался. -------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |