|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.12.2013, 07:52 | #1 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
Замена сразу нескольких слов...
Здравствуйте, у меня проблема. Нужно в тексте заменить два разных слова на два других разных мною указанных слова и результат вывести в Memo. Код:
Код:
|
01.12.2013, 10:08 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Во-первых, у Вас код делает не то, что Вы написали.
этот код заменяет не слово, а просто словочетание (набор букв, который к слову отношения не имеет). Напишите, например такой текст: Приветствую тебя! Я к тебе пришёл с приветом! выполните первую замену и убедитесь в том, что у Вас заменяются не слова, а набор заданных букв. Впрочем, как Вы и сами можете догадаться, в тексте не может быть СЛОВА "Как дела?". При любом раскладе - это НЕ СЛОВО! Я бы сказал, что это, скорее, целое предложение! во-вторых, если Вас устраивает замена по отдельности (несмотря на то, что меняются не слова), то чем Вас не устраивает последовательная замена?!! Только написать её надо правильно. вот так примерно: Код:
|
01.12.2013, 10:18 | #3 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
И тут получается шушуть интересный момент.. Можно заменять так.. Pos ('привет_').. (пробел я заменил на '_').. И дальше в StringReplace проводить тоже.. НО Привет! Как дела? Косячит.. Поэтому можно делать так (если других идей нет).. Код:
|
|
01.12.2013, 10:23 | #4 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
Serge_Bliznykov, работает, но забыл упомянуть что у меня используется TStringList (думал со стринглистом и Memo будет одинаково...) так вот если делать так:
Код:
---------------------------- в моем проэкте не работало, создал новый что бы проверить - работает, сейчас буду разбираться со своим проэктом... Последний раз редактировалось FleXik; 01.12.2013 в 10:31. |
01.12.2013, 10:39 | #5 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
короче оказалось что я строку words := sl.Text; прописывал выше чем нужно было из-за этого работало не корректно, 2 часа мозг ломал, нервов не напасешься.... всем спасибо
|
01.12.2013, 10:50 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Pomaхa, твоя попытка сделать полноценный разбор по словам неудачна. Для примера слово 'Привет' pos не найдет. Тот же 'привет' может быть окончанием другого слова, по крайней мере теоретически. Но если бы другое слово было, то и практически. Можно еще мозгу напрячь и придумать какую-нибудь г
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
01.12.2013, 10:57 | #7 | ||
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Цитата:
|
||
01.12.2013, 12:29 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
01.12.2013, 13:01 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Регулярные выражения никто не захотел опробовать? Не?
I'm learning to live...
|
01.12.2013, 13:06 | #10 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Хорошо.. А как исправить? Можно искать с пробелом.. Но 'Привет '.. завалит.. Или ',привет,' тоже.. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание нескольких компонентов сразу в цикле | artemavd | Общие вопросы Delphi | 40 | 08.06.2012 20:59 |
Очистка сразу нескольких StringGrid | Artamos | Компоненты Delphi | 7 | 13.05.2011 13:58 |
Установка нескольких атрибутов сразу | Shouldercannon | Общие вопросы Delphi | 7 | 01.05.2011 22:49 |
Создание сразу нескольких txt файлов | Nice42ru | Помощь студентам | 11 | 11.02.2010 18:35 |
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" | Mashaa | Помощь студентам | 13 | 09.12.2009 13:28 |