Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
мистер х
20 / 20 / 2
Регистрация: 11.01.2009
Сообщений: 110
#1

Замена символов в строке на один - C++

02.06.2011, 13:34. Просмотров 729. Ответов 4
Метки нет (Все метки)

как заменить несколько символов на один
тоесть скажем есть строка
"это текст !"
мне нужно чтобы вместо нескольких подряд пробелов стоял только один
заранее спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2011, 13:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Замена символов в строке на один (C++):

Замена нескольких символов на один - C++
Следующая задача Необходимо открыть исходный файл, изменить там все begin и end на СИшные скобочки, и записать результат в новый файл. С...

Замена символов в строке - C++
В общем, я не понимаю логики программирования, потому что я идиот :) Задание: Ввести строку, символ который заменить и символ на который...

Замена символов в строке - C++
Здравствуйте!!! Помогите пожалуйсто решить задачку. Есть текстовый файл. Необходимо: - открыть файл - скопировать содержание...

Замена символов в строке - C++
Как заменить первый символ в строке "k" на "c" ? И последний "с" на "k" ? Вообще ума не приложу, помогите...

Замена символов в строке с while - C++
Здравствуйте. Подскажите,пожалуйста,по задаче: Используйте серийный оператор for для замены всех символов строки на X. Как эти символы...

Замена символов в строке - C++
Доброго времени суток. Есть такой код. char text="hello world"; Как заменить слово "world" в этой строке на слово "Mike". Искал в...

4
breeve
75 / 75 / 14
Регистрация: 01.08.2009
Сообщений: 177
02.06.2011, 15:19 #2
Цитата Сообщение от мистер х Посмотреть сообщение
как заменить несколько символов на один
тоесть скажем есть строка
"это текст !"
мне нужно чтобы вместо нескольких подряд пробелов стоял только один
заранее спасибо)
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
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <string>
using namespace std;
 
int main ()
{
  string base="this is a test string.";
  string str2="n example";
  string str3="sample phrase";
  string str4="useful.";
 
  // function versions used in the same order as described above:
 
  // Using positions:                 0123456789*123456789*12345
  string str=base;                // "this is a test string."
  str.replace(9,5,str2);          // "this is an example string."
  str.replace(19,6,str3,7,6);     // "this is an example phrase."
  str.replace(8,10,"just all",6); // "this is just a phrase."
  str.replace(8,6,"a short");     // "this is a short phrase."
  str.replace(22,1,3,'!');        // "this is a short phrase!!!"
 
  // Using iterators:                      0123456789*123456789*
  string::iterator it = str.begin();   //  ^
  str.replace(it,str.end()-3,str3);    // "sample phrase!!!"
  str.replace(it,it+6,"replace it",7); // "replace phrase!!!"
  it+=8;                               //          ^
  str.replace(it,it+6,"is cool");      // "replace is cool!!!"
  str.replace(it+4,str.end()-4,4,'o'); // "replace is cooool!!!"
  it+=3;                               //             ^
  str.replace(it,str.end(),str4.begin(),str4.end());
                                       // "replace is useful."
  cout << str << endl;
  return 0;
}
1
мистер х
20 / 20 / 2
Регистрация: 11.01.2009
Сообщений: 110
02.06.2011, 15:35  [ТС] #3
я видел этот пример но мне показалось что ту нет того что мне нужно
сообщение не отобразило того примера который я приводил,тоесть было
"это&nbsp;&nbsp;&nbsp; текст&nbsp;&nbsp;&nbsp;!"
"это текст !"
пожалуйста ,если здесь есть этот пример покажите его
0
BreatheInMyVoid
20 / 16 / 1
Регистрация: 05.03.2010
Сообщений: 59
02.06.2011, 17:10 #4
Может я не совсем понял задание...это удалить повторяющиеся рядом символы? Типа имеем - Ssstring with rrrepettitioons, получим string with repetitions. Писал быстро, спросите если что не так.

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <stdlib.h>
 
int str_norp_len(char *); /* Считает длину без повторений */
void str_norp_cpy(char *, char *);  /* Копирует без повторений */
 
int main(void) {
    char *str = "Ssstring   with rrrepettitioons";
    char *new_str = NULL;
 
    /* Выделяем память для новой строки */
    new_str = (char *)malloc(str_norp_len(str));
 
    /* Копируем строку без повторений */
    str_norp_cpy(str, new_str);
 
    puts(new_str);
    return 0;
}
 
int str_norp_len(char *str) {
    int i = 0;
    while(*str++ != '\0') {
        if(*str == *(str + 1)) {
            continue;
        }
        i++;
    }
    return i;
}
 
void str_norp_cpy(char *from, char *to) {
    while(*from++ != '\0') {
        if(*from == *(from + 1)) {
            continue;       
        }
        *to++ = *from;
    }
    *to = '\0';
}
1
мистер х
20 / 20 / 2
Регистрация: 11.01.2009
Сообщений: 110
02.06.2011, 17:15  [ТС] #5
то что надо!!!!!))))))))))))
огромное спасибо!!))))))))))
0
02.06.2011, 17:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 17:15
Привет! Вот еще темы с ответами:

Замена в строке символов - C++
&quot;Заменить в строке все вхождения 'abc' на 'xy', а 'mm' на '1234'&quot;. Буду благодарна за оказанную помощь. проблема в том,что я не знаю как...

Замена символов в строке - C++
Всем здрасте! Вот тут есть задача: Дается 3 строки. Надо найти 2-ю строку в 1-ой и заменить ее на 3-ю. Мое решение не проходит по...

Замена символов в строке - C++
Не получается сделать замену символов. Если в строке есть буква &quot;H&quot; мне нужно заменить её на &quot;HOH&quot;. Вот код: #include &lt;iostream&gt; using...

Замена символов в строке - C++
Помогите решить задачу. Дана строка. Нужно заменить символ &quot;s&quot; на &quot;svb&quot;.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru