|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|||||||||||||
Фукнции для работы со строками [AnsiString]25.11.2009, 14:10. Показов 21166. Ответов 28
Всем привет.
В Java Script'e есть такая функция - split();, которая разбивает текст на количество отдельных строк по заданному разделителю. Например строку
Добавлено через 20 минут Поторопился малость, вспомнил.
0
|
|||||||||||||
| 25.11.2009, 14:10 | |
|
Ответы с готовыми решениями:
28
Пакет для работы со строками Класс для работы со строками Разработка ПО для работы со строками |
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
||||||
| 26.11.2009, 17:40 [ТС] | ||||||
|
Ребята, очень прошу, помогите найти функцию, или аналог как в Java Script'a.
"\." - это символ самой точки, ".{3}" - три любых символа, "$" - конец строки Цель: Без участия пользователя по нажатию на кнопку, просканировать весть текст и вывести лишь те строки, в которых встречается имя файла. Нужно отметить, что структура текста - одна строка - одна единица информации, текст, описание файла + путь и имя к файлу. Задать шаблон поиска по тексту, некоторой строки вида #.### - где # - любой символ алфавита. есть точка и ### - три любых символа алфавита, на расширение файла (вроде как i.sys - подходит, d.exe - подходит, a.dll - подходит и т.д.). В тексте встречаются имена файлов с их полными путями, нужно определить является ли строка адресом к файлу или это обычная строка текста. Просканировать текст построчно могу, но не знаю, как задать маску для поиска и проверки, являются ли последние четыре символа расширением или нет? Мне кажется в C++ такого нету. ((( Очень надо.
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 26.11.2009, 21:50 | |
|
Глянь сюда:
http://www.tropicsoft.com/Comp... xpression/ тут есть библиотека для билдера по вычислению регулярных выражений.
2
|
|
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|
| 26.11.2009, 22:23 [ТС] | |
|
В английском слабоват. Скачал для C++ Builder 6.0, пакет установился в Program Files, он уже подключился или мне нужно взять содержимое папки Include и перекинуть в Builder'овскую папку, так? А дальше использовать функцию FormatType вроде бы?
Там пример есть, но что он делает, не врубаюсь, слишком сложный сейчас для меня. ![]() Otaka, Ты пользовался этим пакетом? Можешь объяснить на русском, как и куда устанавливать\кидать\подключать?
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 27.11.2009, 18:19 | |
|
А что там сложного? Этот компонент очень похож на RegEx из NET.
Запускаешь инсталяшку и устанавливаем библиотечку(Предположим ты выбрал установку по умолчанию(C:\Program files\TSE\)) Затем включаем Билдер, берем наш проект, и в Project/Options/Directories добавляем к путям include папку C:\Program Files\TSE\Regular Expression Component Library Bcb6\Include\(или какая там она у тебя). А потом еще делаем Project/add to project и выбираем lib файл RegularExpressionLibBcb6.lib из C:\Program Files\TSE\Regular Expression Component Library Bcb6\Lib\. Оно тогда статически прилинкуется, но размер приложения вырастет на метр , можешь попробовать с разными либами линковаться.Теперь можешь кидать на форму компонент RegularExpression. В пропертю Expression заносишь необходимый шаблон, а в StringToMatch проверяемое значение. Осталось только вызвать Match и проверить результат. Там достаточно много настроек с которыми я не знаком, поэтому придется тебе разбираться с ними самому. Я не очень дружу с регулярными выражениями.
2
|
|
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
||||||||||||||||||||||||||
| 30.12.2009, 19:27 [ТС] | ||||||||||||||||||||||||||
|
Всех с Наступающим Новым Годом. Здоровья и Успехов.
![]() У меня вопрос, сам не знаю как решить. Дана строка - String, в этой строке, есть SubString из 8 символов, которую я ищу, и её нахожу функцией, так как эта комбинация в этой строке всегда одна. Переменной indexPtr1 присваивается позиция начала этой строки. Всё нормально.
Этот вариант не проходит. Так как он даёт определение всех перечисленных разделителей, а мне нужно фиксировано найти два символа стоящих рядом
Вот переменные indexPtr1 и indexPtr2 запоминают индексы вхождения и потом вычисляя длину найденогоо первой искомой комбинации и второй, вычисляю длину текста - operator. Извините, если запутано, по другому не знаю как пояснить, надеюсь вы поймёте меня. Спасибо.
0
|
||||||||||||||||||||||||||
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|||||||||||||||||||||
| 29.01.2010, 13:52 [ТС] | |||||||||||||||||||||
|
Всем привет.
Вопрос такой. Имеется файл в строках которого очень много лишних пробелов. Подскажите, если есть более лучший код, чтобы удалить все лишние пробелы, кроме одного, например строка:
Сейчас делаю так. Заменяю два пробела одним.
Спасибо.
0
|
|||||||||||||||||||||
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|||||||||||
| 09.02.2010, 18:02 | |||||||||||
2
|
|||||||||||
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|
| 09.02.2010, 18:14 [ТС] | |
|
mirso, Благодарю за помощь и турброреактивный истребитель.
0
|
|
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|||||||||||
| 22.02.2010, 17:29 [ТС] | |||||||||||
|
Ребята, приветы!
В общем вот такой вопрос. Ниже, приведён пример текстового лога. Зелёным я выделил строки, которые нужно извлекать. Вопрос вот в чём:1. Как определить полное имя файла в строке, которая может содержать в своём имени путей точку или точки. 2. В имени расширения файла может быть от 2-х до 8-ми символов (пример расширения: .db, .jpeg, .manifest). Любое произвольное расширение. 3. Имя папки Windows может быть произвольным. Буква диска может быть отлична от C:
0
|
|||||||||||
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|||||||||||||||||||||||||||||||
| 22.02.2010, 19:47 | |||||||||||||||||||||||||||||||
|
Maestro, ну первое - понятно как.
а второе?(обрезать)
std::string t[n] = {".dll", ".exe", ...};
1
|
|||||||||||||||||||||||||||||||
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
||||||||||
| 22.02.2010, 21:20 [ТС] | ||||||||||
|
Не факт что расширение может быть .exe, оно может быть .dll и .sys и любое другое...
0
|
||||||||||
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|||||||||||||
| 22.02.2010, 21:56 | |||||||||||||
1
|
|||||||||||||
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|||
| 22.02.2010, 22:28 [ТС] | |||
|
Перечислять все типы файлов, не выгодно, легко пропустить какой-то или задать предпосылку для пропуска нового типа файла созданного вирусом в будущем. mirso, код протестю уже завтра.
0
|
|||
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|||||||||||||||||||||
| 11.03.2010, 11:34 [ТС] | |||||||||||||||||||||
|
Вот вот такой вопрос нарисовался. В программе есть внутренний фиксированый список с именами служб Windows. Одна строка - одно имя службы.
Спасибо.
0
|
|||||||||||||||||||||
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
||
| 11.03.2010, 12:24 | ||
|
Ее просто нужно удалить с помощью TrimRight()
0
|
||
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
||||||||||||
| 11.03.2010, 13:42 [ТС] | ||||||||||||
![]() Но вот количество добавленых строк не определяется правильно. К примеру, внутренний список содержал 10 строк. Что и показывает проверка до добавления строк из внешнего списка. После добавления, скажем 5 строк из внешнего списка LegalService.txt, список ListLegalSvc должен же быть 15, а
0
|
||||||||||||
|
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
|
|||||||||||
| 12.03.2010, 01:32 | |||||||||||
|
проверка длинны введенной строки
[BCC32 Error] Unit1.cpp(191): E2268 Call to undefined function 'Length' все уже понял
0
|
|||||||||||
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|||||||||||||||||||||
| 06.04.2010, 13:56 [ТС] | |||||||||||||||||||||
|
Всем привет.
Ребята нужна помощь, вопрос простой, но мне кажется это невозможно сделать или я не знаю как. Работаю с ini-файлом, в котором хранятся некоторые рекомендации для необходимых случаев. Переменные Sections1, Sections2 выводят полученый текст потом в RichEdit. Всё работает, никаких проблем. Вот код:Исходный код
Меня интересует вот что. Можно ли каким-то образом в значениях - Text="" вести запись, чтобы при выводе можно было начать с новой строки - \n. Вот например текст:
0
|
|||||||||||||||||||||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
||||||
| 06.04.2010, 19:06 | ||||||
|
В RichEditOnChange пишешь такой код:
Когда напишешь "/n" строка будет пересена. Только "\n" так писать нельзя: не перенесет.
1
|
||||||
| 06.04.2010, 19:06 | |
|
Помогаю со студенческими работами здесь
20
Класс для работы сo строками Класс для работы сo строками Класс для работы со строками
Функции для работы со строками в VB Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|