Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559

Строку AnsiString разбить по словам и засунуть в массив

21.09.2016, 07:59. Показов 3497. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть строка:

C++
1
AnsiString s= "Дед%Мазай%Любил%Больших%Девочек";
как её можно разбить по словам и каждое слово записать в отдельную переменную или массив, Google ничем не помог

Добавлено через 1 час 18 минут
Решил тем что AnsiString перевел в char и с помощью фун-ии strtok разбил слова, может кому пригодится
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.09.2016, 07:59
Ответы с готовыми решениями:

Строку AnsiString разбить по словам и засунуть в массив
Есть строка: AnsiString s= "Дед%Мазай%Любил%Больших%Девочек"; как её можно разбить по словам и каждое слово записать в отдельную...

Разбить строку типа AnsiString на массив целых чисел
Имеется строка типа AnsiString: 12 35 1 16 0 12 3 412 Есть ли у данного типа данных какая-нибуть функция, что позволит разбить строку...

Разбить строку по словам и создать из нее количественный словарь
Есть строка: a = 'When I was One I had just begun When I was Two I was nearly new' мне надо посчитать количество одинаковых слов в...

13
21.09.2016, 08:10

Не по теме:

"Дед%Мазай%Любил%Больших%Девочек" порносайты парсите?

0
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
21.09.2016, 08:22  [ТС]
Нет, для привлечения внимания написал, чтобы побыстрее ответили
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
21.09.2016, 08:59
Цитата Сообщение от Dias606 Посмотреть сообщение
Решил тем что AnsiString перевел в char и с помощью фун-ии strtok разбил слова, может кому пригодится
Можно было бы проще заменить % на табуляцию и воспользоваться CommaText ?
1
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
21.09.2016, 09:05  [ТС]
Будь добр пример какой нибудь накидай для понимания
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
21.09.2016, 09:10
Вот, из реального рабочего кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//создаем временный список для хранения адресов и псевдонимов
    TStringList *L = new TStringList;
    //загружаем список адресов интернет-ресурсов из файла
        String path_to_file = GetCurrentDir();
        path_to_file = path_to_file + "\" + "Urls.txt";
        L->LoadFromFile(path_to_file);
 
        //заполняем таблицу адресов и соответствий
        Tabl_Adres->RowCount = L->Count;
        for(int i = 0; i < L->Count; i++)
        {
                String s = L->Strings[i];
                Tabl_Adres->Rows[i]->CommaText = StringReplace(L->Strings[i], "\t", ",", TReplaceFlags() << rfReplaceAll);
        }
        delete L;
        //заполняем список выбора
        int count_rows_tabl = Tabl_Adres->RowCount;
        for(int row = 0; row < count_rows_tabl; row++)
        {
            String tmp_str = Tabl_Adres->Cells[1][row];
                List_URLs->Items->Add(tmp_str);
        }
Строки в файле хранятся в виде: имя-(табуляция)-значение
Это приближенный пример, а не готовый код по вашему вопросу. Чтобы сделать для вашего - придется допилить.
1
Модератор
 Аватар для D1973
9928 / 6465 / 2457
Регистрация: 21.01.2014
Сообщений: 27,420
Записей в блоге: 3
21.09.2016, 12:51
C++
1
2
3
4
5
6
7
8
9
10
#include <memory>
...
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  String s= "Дед%Мазай%Любил%Больших%Девочек";
  std::auto_ptr<TStringList> L (new TStringList);
  L->Delimiter = '%';
  L->DelimitedText = s;
  ShowMessage(L->Strings[2]);
}
Результат:
Миниатюры
Строку AnsiString разбить по словам и засунуть в массив  
3
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
23.09.2016, 11:20  [ТС]
Спасибо, но есть один косяк если будет строка - один%два%три четыре%пять, то "три четыре" я не могу получить
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
23.09.2016, 11:53
Можешь. Достаточно выставить StrictDelimiter (если оно есть в твоей версии Билдера, конечно. Я не телепат, чтобы догадываться, нужно версию сразу указывать) для L в true:
C++
1
2
3
4
5
6
  String s= "один%два%три четыре%пять";
  std::auto_ptr<TStringList> L (new TStringList);
  L->Delimiter = '%';
  L->StrictDelimiter = true;
  L->DelimitedText = s;
  ShowMessage(L->Strings[2]);
А если этого свойства нет - это повод серьезно задуматься над переходом на более новую версию, чтобы решать свои задачи, а не проблемы Билдера...
1
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
23.09.2016, 12:47  [ТС]
нету(, какую версию посоветуете ?

Добавлено через 9 минут
RAD Studio 10 Seattle ?
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
23.09.2016, 12:53
Dias606, в XE8 код, приведенный volvo, работает.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
23.09.2016, 12:55
Этот код работает, начиная с RAD 2009
1
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
23.09.2016, 13:02  [ТС]
у меня 6 версия стоит, так на какую версию перейти лучше, RAD Studio 10 Seattle хочу скачать, почитал немного понравилась, норм или лучше что нибудь понадежнее ?
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
23.09.2016, 13:04
Dias606, тогда уж Berlin 10.1 скачивайте.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2016, 13:04
Помогаю со студенческими работами здесь

Как разбить массив по 3 елемента и засунуть в другой массив
Здарова форумчане. Помогите, кому не лень решить задачу по программированию на c++ Кароче нам дан массив чисел от 1 до 18. Сначала нам...

Необходимо разбить строку на слова и осуществить по этим словам поиск
Здравствуйте. Дана строка, которую нужно разбить на слова(разделяются пробелами и тире) и по этим словам осуществить поиск. С поиском...

Java Json jackson разбить на части и засунуть в массив
Помогите пож-та разбить мою Json строку на три части при помощи jackson Есть Json: { &quot;result&quot;: { ...

Засунуть строку в массив
У меня есть строка в ней хранится двоичный код и их нужно засунуть в массив чаров или интов без разницы помогите пожалйста

Разделить строку AnsiString на слова и записать их в массив!
Доброго времени суток, что не так? char lecs; for (i=0;i&lt;1;i++) { String str = A.NameBook; char *pch; ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru