Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 222
#1

Убрать элемент строки - C++

28.03.2014, 20:59. Просмотров 197. Ответов 5
Метки нет (Все метки)

Как правильно убрать элемент строки?
fileName.erase(i, i) - не работает почему-то
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2014, 20:59     Убрать элемент строки
Посмотрите здесь:

Убрать все цифры из строки C++
C++ Работа с файлами. Убрать пустые строки
C++ Найти нулевой(ые) элемент(ы) в матрице, вывести на пересечение какой строки и столбца располагается(ются) этот(эти) элемент(ы)
C++ Убрать повторяющиеся строки из файла
убрать буквы из строки на Си C++
Убрать пробелы в конце строки C++
Убрать повторяющиеся символы из строки C++
C++ Класс string, убрать звездочки из строки
Заменить элемент строки, лежащий на главной диагонали, произведением чётных положительных чисел этой строки C++
Убрать те строки матрицы, в которых ни один элемент не является взаимно простым со своим индексом C++
Убрать мусор в конце строки C++
Убрать все гласные буквы со строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
28.03.2014, 21:03     Убрать элемент строки #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Экстрасенсы в отпуске. Приведите код или его кусок.

Если речь о std::string, то std::string::erase
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 222
28.03.2014, 21:13  [ТС]     Убрать элемент строки #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
string GetPage(string tags){
    if(isalpha(tags[0])){ tags[0] =  toupper(tags[0]); }
    for ( int i = 0; i < tags.length()-1; i++ ){
        if(tags[i] == ','){
            if ( isalpha(tags[i+1]) ){ tags[i+1] = toupper(tags[i+1]); }
            tags[i] = '-';
        }
        if(tags[i] == '('|| tags[i] == ')'){
            tags[i] = '-';
        }
    }
    if (tags[tags.length()-1] == '('|| tags[tags.length()-1] == ')'){
        tags[tags.length()-1] = '-';
    }
    for ( int i = 1; i < tags.length()-1; i++ ){
        if(tags[i] == '-' && (tags[i-1] == '-' || tags[i+1] == '-')){
            tags.erase(i,i);
            i--;
        }
    }
    return tags;
}
Добавлено через 1 минуту
оно обрезает, но как-то странно, к примеру такой текст передается:
Azimut---Leonardo
на выходе:
Azimutnardo
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
28.03.2014, 21:14     Убрать элемент строки #4
C++
1
tags.erase(tags.begin()+i);
Удалит символ с индексом i
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 222
28.03.2014, 21:16  [ТС]     Убрать элемент строки #5
а должно:
Azimut-Leonardo

Добавлено через 2 минуты
cпасибо, помогло )
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
28.03.2014, 21:17     Убрать элемент строки #6
Всегда рады помочь.
Yandex
Объявления
28.03.2014, 21:17     Убрать элемент строки
Ответ Создать тему
Опции темы

Текущее время: 08:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru