|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 31
|
|
Вырезать символ из строки, регулярное выражение13.09.2015, 11:50. Показов 2925. Ответов 13
Метки нет (Все метки)
0
|
|
| 13.09.2015, 11:50 | |
|
Ответы с готовыми решениями:
13
Регулярное выражение: вырезать текст из ссылки Не работает регулярное выражение (вырезать div)
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||||||
| 13.09.2015, 15:13 | ||||||
|
Была же уже тема с точкой. Только шаблон заменить.
0
|
||||||
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 31
|
||||||
| 14.09.2015, 08:16 [ТС] | ||||||
|
У меня не компилится данный код
g++ c_/test_.cpp In file included from /usr/include/c++/4.8/regex:35:0, from c_/test_.cpp:6: /usr/include/c++/4.8/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support for the \ ^ c_/test_.cpp: In function ‘int main()’: c_/test_.cpp:12:5: error: ‘cout’ is not a member of ‘std’ std::cout << std::regex_replace(s, std::regex("t"), ""); ^ c_/test_.cpp:12:18: error: ‘regex_replace’ is not a member of ‘std’ std::cout << std::regex_replace(s, std::regex("t"), ""); ^ c_/test_.cpp:12:40: error: ‘regex’ is not a member of ‘std’ std::cout << std::regex_replace(s, std::regex("t"), "");
0
|
||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
| 14.09.2015, 11:59 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 31
|
|
| 14.09.2015, 15:20 [ТС] | |
|
Сделал по другому
std::string s = "string\\.txt"; s.replace(s.find("\\."),3,"."); std::cout<<s; Работает, вырезает, но теперь другая проблема, если в переменной s другое значение, БЕЗ "\\." то вылазит ошибка во время выполнения скрипта. ./a.out terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::replace Аварийный останов (сделан дамп памяти) не могу придумать как обойти это. Подскажите пожалуйста.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||||||
| 14.09.2015, 16:09 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 31
|
|
| 14.09.2015, 16:41 [ТС] | |
|
тоже самое
я думаю тут нужно чт ото типа такого std::string s = "string\\.txt"; if(s.find("\\.")){ s.replace(s.find("\\."),3,"."); } std::cout<<s;
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 14.09.2015, 16:45 | |
|
Ты объясни, откуда у тебя 3, если там 2 символа.
0
|
|
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 31
|
|
| 14.09.2015, 16:48 [ТС] | |
|
да согласен 2
но дело не в этом, какое условие нужно написать, чтобы не срабатывало если нет искомых символов в строке.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||||||
| 14.09.2015, 16:51 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 31
|
|
| 14.09.2015, 17:00 [ТС] | |
|
Спасибо ратает!!!
я правда переделал немного std::string s = "string\\.txt"; size_t p; if ((p = s.find("\\.")) != std::string::npos){ s.replace(p,2,"."); //s.erase(p, 1); } std::cout<<s;
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 14.09.2015, 17:18 | |
|
Для чего? Это лишняя операция.
0
|
|
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 31
|
|
| 14.09.2015, 17:25 [ТС] | |
|
Я использую эту функцию также для замены символа
Добавлено через 1 минуту Есть еще одна проблема если в std::string s = "string\\.txt"; несколько точек, то вырезает или заменяут только первую точку. А нужно, чтобы заменял все. Добавлено через 1 минуту тоесть std::string s = "str\\.ing\\.txt"; должно вырезать в 2-х местах
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 14.09.2015, 18:13 | |
|
regex_replace() используй, там все удалятся, а здесь только цикл.
0
|
|
| 14.09.2015, 18:13 | |
|
Помогаю со студенческими работами здесь
14
Регулярное выражение вырезать из url иденификатор фесбука Регулярное выражение: из текста вырезать все слова, содержащие только буквы
Скобка как символ, а не регулярное выражение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|