Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 99

Как удалить в тексте лишние пробелы?

15.01.2021, 12:00. Показов 535. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно преобразовать текст так, чтобы стали пробелы между словами одинарные
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2021, 12:00
Ответы с готовыми решениями:

В тексте удалить лишние пробелы и расположить слова в порядке возрастания длинн
Помогите решить задачу. Спасибо ребят) В тексте удалить лишние пробелы и расположить слова в порядке возрастания их длин. С++

Удалить в строке все лишние пробелы, то есть серии подряд идущих пробелов заменить на одиночные пробелы
Я уже решал эту задачу с помощью циклов и символьных массивов, и выкладывал на этот форум , но я не знаю как решить её , с помощью типа...

Выделить в тексте лишние пробелы между словами
ЕЩе одна задачка из Павловской... Прошу помощи!!! Если вам лень решать всю задачу, то меня очень интересует второй пункт... Но буду рад...

6
Модератор
 Аватар для long399
2882 / 1836 / 933
Регистрация: 16.10.2013
Сообщений: 5,240
Записей в блоге: 15
15.01.2021, 12:11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
 
void removeExtraSpaces (std::string &str) {
    std::size_t pos;
    
    while ( (pos = str.find("  ")) != std::string::npos ) {
        str = str.replace(pos, 2, " ");
    }
    
    if (str.front() == ' ') {
        str.erase(0, 1);
    }
    
    if (str.back() == ' ') {
        str.pop_back();
    }
}
 
int main() {
    std::string s ("    text    with     extra          spaces     ");
    removeExtraSpaces(s);
    std::cout << s;
    return 0;
}
0
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 99
15.01.2021, 12:29  [ТС]
str.pop_back() что это означает?
0
Модератор
 Аватар для long399
2882 / 1836 / 933
Регистрация: 16.10.2013
Сообщений: 5,240
Записей в блоге: 15
15.01.2021, 14:56
Цитата Сообщение от Cats_ Посмотреть сообщение
str.pop_back() что это означает?
удаление последнего символа строки
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.01.2021, 15:00
Проще всего регуляркой (std::regex)
1
611 / 416 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
15.01.2021, 15:05
Есть способ проще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
 
std::string remove_duplicated_spaces(std::string s)
{
    auto last = std::unique(s.begin(), s.end(), [](char c1, char c2) { return c1 == c2 && ' ' == c1; });
    s.erase(last, s.end());
    return s;
}
 
int main()
{
    std::string s = "this    line  contains      a  number   of redundant     space     characters   ";
    std::cout << "Result: " << remove_duplicated_spaces(s) << std::endl;
    return 0;
}
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.01.2021, 15:16
Цитата Сообщение от Avazart Посмотреть сообщение
Проще всего регуляркой (std::regex)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <regex>
#include <string>
 
 
int main()
{
    std::string s = 
          "this    line  contains      a  number   of redundant     space     characters   ";
    std::cout << "Result: " 
              <<  std::regex_replace(s, std::regex("\\s+"), " ") 
              <<  std::endl;
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.01.2021, 15:16
Помогаю со студенческими работами здесь

В тексте убрать лишние пробелы и разделительные символы
1. Определить какие символы и сколько раз встречаются в тексте. Или 2. В тексте убрать лишние пробелы и разделительные символы,...

Удалить лишние пробелы
Сделал програму для удаления лишних пробелов из строки(те что стоят в начале строки, в конце, все кроме одного между словами). Програма...

Удалить лишние пробелы
Вводится строка произвольного текста. Вывести на экран второе слово(слова разделены пробелами) Программа работает, но нужно при вводе...

Удалить лишние пробелы в строке
Здравствуйте, не работает код по даной задачке: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { ...

Удалить все лишние пробелы
В чем ошибка? #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string s;


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
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 ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru