0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 83
1

Строка: как можно реализовать поиск нескольких подстрок?

04.02.2013, 23:23. Показов 1411. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!Подскажите пожалуйста как можно реализовать поиск нескольких подстрок (точнее сказать - неограниченного их количества) в строке?
Например: Учебное пособие предназначено для студентов филологических факультетов
Результат: Уч. пособ. предназ-но для студ. филологич. фак-тов

Сокращения слов должны прописываться при поиске (т.е. нашел такое слово - запись вместо него сокращения), при этом все слова должны оставаться на своих местах.

Пробовала:
if (c.Pos(" Учебное")) c=" Уч."; //стирает все остальные слова

Подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2013, 23:23
Ответы с готовыми решениями:

Поиск нескольких подстрок в строке
Здравствуйте! Есть строка типа: rt!.{username}?{username}@{username}.api.set.com TEST #{count}...

Реализовать поиск подстрок с помощью недетерминированного конечного автомата
Всем привет!Сразу к сути задачи.Необходимо реализовать поиск подстрок с помощью...

Строка: Подскажите, пожалуйста, как можно реализовать сравнение строк?
я считал с файла слово "хорошо" в массив. И теперь мне нужно сделать условие if...

Как в моём коде можно реализовать сортировку и поиск по “степени риска”?
Пишу небольшую программку с ооп и наследованием. Есть базовый класс и от него наследуются пять...

5
LK
Заблокирован
05.02.2013, 05:13 2
Делаете себе массив, например, загоняете пары в StringList. Затем в цикле перебираете значения массива и меняете:
C++
1
StringReplace(string, "Учебное", "Уч.", TReplaceFlags() << rfReplaceAll << rfIgnoreCase);
т.е.,
C++
1
StringReplace(string, Array->Name, Array->Value, TReplaceFlags() << rfReplaceAll << rfIgnoreCase);
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 83
05.02.2013, 20:12  [ТС] 3
Большое спасибо,а можно поподробнее о массиве StringList?я новичок в этом деле...
как потом использовать значения этого StringReplace?
0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
05.02.2013, 21:12 4
Define, хороший ник, приятно так звучит.

Попробуй следующий код и все поймешь:
C++
1
2
3
4
5
    memo->Text = StringReplace(
        memo->Text,
        edit_search_for->Text,
        edit_replace_with->Text,
        TReplaceFlags( ) << rfReplaceAll << rfIgnoreCase );
В memo находится текст, в котором нужно произвести замены. Названия эдитов говорят сами за себя.
1
LK
Заблокирован
06.02.2013, 01:57 5
BRcr, и как это согласуется с этим:
Цитата Сообщение от Define Посмотреть сообщение
реализовать поиск нескольких подстрок (точнее сказать - неограниченного их количества)
?
0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
06.02.2013, 13:52 6
Замечательно согласуется. Человек поймет, как делать замену единожды - значит, потом уже легко сможет распространить свое умение и на остальные замены. Про массивы и циклы уже было сказано - чего же боле?

Шаг вправо, шаг влево от темы - расстрел?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2013, 13:52
Помогаю со студенческими работами здесь

Случайная замена нескольких подстрок
Здравствуйте! Столкнулся с такой интересной задачей... 1. есть строка, например: &quot;Привет, это...

Подстановка нескольких подстрок в путь к файлу
Доброго времени суток, уважаемые форумчане! Знаю, что есть такая возможность bash: $ cat...

Можно ли реализовать поиск
Здравствуйте, очень нужна помощь. Я тут программку делаю которая будет выводить 5 различных баз...

Строка: Найти первое вхождение подстрок ‘not’ и ‘bad’
Дана строка. Найти первое вхождение подстрок ‘not’ и ‘bad’. Если ‘bad’ идёт после ‘not’, заменить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru