2016-07-28 32 views
1

Я очистки текста в R. Мой текст имеет видОбрезать рисунок в тексте между п п п п

, но он не мог избежать этой темы FULLSTOP \ п \ п \ п \ n \ nразличные части автор \ n \ n \ nlife великий 13022015 \ nreal men don t eath quiche 22042013 \ nback в будущее 01072012 \ n \ n \ n \ n и когда он берет этап здесь в среду ночью для сплочения демократов вокруг холма Клинтона mr FULLSTOP obama пересмотрит свое обещание вести нацию в эпоху примирения и единства, возвращаясь к темам , которые способствовали его невероятному росту, но которые кажутся еще больше из достигают сегодня FULLSTOP \ n \ n \ n \ n \ nobama при согласии выложить ставки для разделенной нации \ n \ n \ n \ n мы расстраиваемся политическим беспокойством о блокировке о расовых подразделениях потрясены и опечалены безумии или хороший Орландо мр FULLSTOP

Я пытаюсь избавиться от

\ п \ п \ п \ п \ nsimilar пьесы автора \ п \ п \ nlife велика 13022015 \ nreal men don t eath quiche 22042013 \ nback в будущее 01072012 \ n \ n \ n \ n

так, чтобы получить что-то вроде

, но он не мог избежать предмета FULLSTOP и как он выходит на сцену здесь среду вечером, чтобы сплотить демократов вокруг Х.Клинтон мр FULLSTOP обама будет пересмотреть свое собственное обещание руководства нация в эпоха примирения и единства, вернувшаяся к темам, которые привел к его невероятному росту, но которые кажутся еще более недоступными сегодня FULLSTOP \ n \ n \ n \ n \ nobama на съезде, чтобы выложить ставки для разделить нацию \ n \ n \ n \ n мы расстроены политическим тупиком беспокоиться о расовых подразделений шокированы и опечалены безумием Орландо или хороший мр FULLSTOP

Я пытаюсь с чем-то вроде

gsub("\\\n{3,}(similar pieces)?.*\\\n{3,}", "", my_string) или gsub("\\\n{3,}(similar pieces)?.*?\\\n{3,}", "", my_string)

Но overtrims или не работает.

Любая помощь (а также объяснение того, что я делаю неправильно и почему альтернативные работы) будут очень благодарны.

+0

ли строка, при условии, точная строки C буквальным? Я имею в виду, есть ли новые строки внутри или комбинации '' '' 'и' n'? –

+0

Да, это всего лишь строка текста. точно так же, как если бы вы ввели его как 'my_string = ', но он не мог избежать темы FULLSTOP \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n жизнь велика 13022015 \ nreal men don t eath quiche 22042013 \ nback'' – lmg

+0

Попробуйте ['sub (" * \ n {5}. *? \ n {4} * "," ", s)'] (https://ideone.com/lYMmf9). –

ответ

2

Вам необходимо сопоставить все между первыми 5 символами новой строки до первых четырех символов новой строки.

Я предлагаю *\n{5}.*?\n{4} * регулярное выражение:

  • * - ноль или более буквальные пространств
  • \n{5} - 5 символов новой строки
  • .*? - ноль или более любых символов до первой ....
  • \n{4} - 4 символов LF
  • * - ноль или более буквальные пространства (только для обрезки матча)

и заменить пробел.

Используйте sub так как вам нужна только замена 1:

sub(" *\n{5}.*?\n{4} *", " ", s) 

Посмотреть R demo