Как найти и заменить символ Enter? - PullRequest
0 голосов
/ 22 апреля 2010

Как найти и заменить символы «Ввод» в текстовом файле?Вот мой код:

string searchString( "\r" );   // <------- how to look for ENTER chars?
string replaceString( "XXXX" );

assert( searchString != replaceString );

string::size_type pos = 0, pos3 =0;

while ( (pos = test.find(searchString, pos)) != string::npos ) {
    test.replace( pos, searchString.size(), replaceString );
            pos++; }

Ответы [ 3 ]

1 голос
/ 22 апреля 2010

Зависит от ваших целей.

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

  • Windows (CR LF)
  • Mac (CR)
  • Unix (LF)
  • Разделитель строк в Юникоде
  • Разделитель абзацев в Юникоде

Я бы подумал, что поиск шаблонов байтов (рассматривая его как двоичный файл, а не текстовый файл)будь способ идти.

1 голос
/ 22 апреля 2010

Символ ввода - «\ n», но в Windows «\ r \ n», старый Mac «\ r». Для смешанных строк: regexp / (? <[^ \ R \ n]) (?: \ R | \ n | \ r \ n) (? = [^ \ R \ n]) / </p>

1 голос
/ 22 апреля 2010

Поиск \r\n для формата Windows, \n для формата Linux / Unix, \r для формата Mac в текстовых файлах.

...