2014-08-23 2 views
4

У меня есть символы новой строки Unicode в строке, в которой мне нужно удалить.R удаление строк Unicode

Этими символами могут быть возврат каретки \U000D, новая строка \U000A, разделитель строк или разделитель абзацев.

Я могу удалить символы возврата каретки и новой строки, используя следующее.

gsub("\\s", "", x) 

Как я сказал, это работает отлично для тех символов Юникода, но я не в состоянии удалить линии сепаратора \U2028 или Разделитель абзацев \U2029 символов.

Есть ли другой способ сделать это?

+1

Включите их в регулярном выражении: [\\ s \ u2028 \ u2029], например. – bmargulies

ответ

4

Вы можете переключиться на PCRE с помощью perl=T и использовать удобную последовательность эвакуации (\R)

> x <- 'foo\U000D\U000A bar\U2029 baz\U2028\U2029' 
> x 
## [1] "foo\r\n bar\u2029 baz\u2028\u2029" 
> gsub('\\R', '', x, perl=T) 
## [1] "foo bar baz" 
+0

Awesome. Никогда не знал об этом. – user3856888

Смежные вопросы