Удалите ненужные HTML-теги из R с помощью регулярных выражений - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть следующая строка:

aaa<-"\n                                                        \n                                                            267 Oberlin St.\n                                                            \n                                                            New York, New York\n                                                            \n                                                            US, 10018\n                                                        \n                                                    "

Как мне избавиться от \n и пустых пространств?

Я попробовал следующее:

str_replace_all(aaa, "[\n]", "")
[1] "                                                                                                                

    267 Oberlin St.                                                                                                                        New York, New York                                                                                                                        US, 10018  

str_replace_all(aaa, " ", "")
[1] "\n\n267OberlinSt.\n\nNewYork,NewYork\n\nUS,10018\n\n"

str_replace_all(aaa, "[ \n ]", "")
[1] "267OberlinSt.NewYork,NewYorkUS,10018"

Я ищу следующее:

"267 Oberlin St. New York, New York US, 10018"

1 Ответ

0 голосов
/ 15 февраля 2019

Если мы предполагаем, что вам нужно удалить все пробелы 0+, за которыми следует новая строка, за которой следуют 3 или более пробелов, вы можете использовать

> trimws(gsub(" *\n {3,}", " ", aaa))
[1] "267 Oberlin St.  New York, New York  US, 10018"

Или, если быть более точным, символ новой строки + 3или более пробела можно повторить:

> trimws(gsub(" *(?:\n {3,})+", " ", aaa))
[1] "267 Oberlin St. New York, New York US, 10018"

Детали узора

  • * - 0 или более пробелов
  • (?:\n {3,})+ - группа без захвата, соответствующая 1 или более повторениям:
    • \n - новая строка
    • {3,} - 3 или более пробелов

Чтобы соответствовать любым горизонтальным пробелам, вы можете заменить буквенное пространство в шаблоне на [[:blank:]] или \h, если добавите perl=TRUE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...