Если мы предполагаем, что вам нужно удалить все пробелы 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
.