سؤال

How to remove all line breaks (enter symbols) from the string?

my_string <- "foo\nbar\rbaz\r\nquux"

I've tried gsub("\n", "", my_string), but it doesn't work, because new line and line break aren't equal.

هل كانت مفيدة؟

المحلول

You need to strip \r and \n to remove carriage returns and new lines.

x <- "foo\nbar\rbaz\r\nquux"
gsub("[\r\n]", "", x)
## [1] "foobarbazquux"

Or

library(stringr)
str_replace_all(x, "[\r\n]" , "")
## [1] "foobarbazquux"

نصائح أخرى

I just wanted to note here that if you want to insert spaces where you found newlines the best option is to use the following:

gsub("\r?\n|\r", " ", x)

which will insert only one space regardless whether the text contains \r\n, \n or \r.

Have had success with:

gsub("\\\n", "", x)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top