Замените разрывы строки в строке STL

Имя сущности для < (меньше) равно <. Если вы хотите использовать две сущности вместе, то вам необходимо включить &, например &<

. : https://www.w3schools.com/html/html_entities.asp

9
задан newfurniturey 28 March 2014 в 13:25
поделиться

4 ответа

Используйте это:


    while ( str.find ("\r\n") != string::npos )
    {
        str.erase ( str.find ("\r\n"), 2 );
    }

более эффективная форма:


    string::size_type pos = 0; // Must initialize
    while ( ( pos = str.find ("\r\n",pos) ) != string::npos )
    {
        str.erase ( pos, 2 );
    }
15
ответ дан 4 December 2019 в 06:01
поделиться

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

#include <boost/algorithm/string.hpp>
#include <string>
#include <iostream>

int main()
{
 std::string str1 = "\r\nsomksdfkmsdf\r\nslkdmsldkslfdkm\r\n";
 boost::replace_all(str1, "\r\n", "Jane");
 std::cout<<str1;
}
27
ответ дан 4 December 2019 в 06:01
поделиться

Первое использование находит (), чтобы искать "\r\n", затем использовать замену () для помещения чего-то еще там. Взгляните на ссылку, она имеет некоторые примеры:

http://www.cplusplus.com/reference/string/string/find.html

http://www.cplusplus.com/reference/string/string/replace.html

3
ответ дан 4 December 2019 в 06:01
поделиться

Библиотека See Boost String Algorithms.

6
ответ дан 4 December 2019 в 06:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: