2015-04-29 2 views
0

У меня есть длинный HTML строку сR строк и подмножество

Длина - 1
класса и режим - символ

......uygdasd class="vip" title="Click this link to access The Big Bang Theory: The Complete Fourth Season (DVD, 2011, 3-Disc Set)..... 

это можно извлечь часть этой строки на основе текста, в нем , Вычтите все от class="vip" title="Click this link to access до (DVD, 2011, в результате, чтобы получить эту

The Big Bang Theory: The Complete Fourth Season 

благодарственное для помощи.

+0

Я думаю, что у опросника есть трудности с английским и фактически означает «извлечь» (== «сохранить»), а не «вычесть» (== «удалить»). –

+0

Является ли шаблон всегда «Нажмите, чтобы получить доступ ... вещи, которые вы хотите ... (Дополнительные материалы)»? – rawr

+0

@BondedDust Мне нужно удалить все до 'class =" vip "title =" Нажмите эту ссылку, чтобы получить доступ "и после' class = "vip" title = "Нажмите эту ссылку, чтобы получить доступ" и жить только "The Big Bang Theory: «Полный четвертый сезон» Извините за мой плохой английский –

ответ

2

Использование операторов группировки (). Это отбрасывает что-либо до «ссылки на доступ» и после «DVD» и сохраняет только совпадение для второй группы. Выражение .+ означает <anything, of any length>. Смотрите страницу ?regex справки для получения более подробной информации о толковании «^» и «$» и использование \\N в замене:

htxt <- 'uygdasd class="vip" title="Click this link to access The Big Bang Theory: The Complete Fourth Season (DVD, 2011, 3-Disc Set).....' 

gsub(pattern= "^(.+link to access)(.+)(\\(DVD,.+$)", "\\2", htxt) 
[1] "The Big Bang Theory: The Complete Fourth Season" 

Существует, конечно, знаменитый, высоко голосовал ответ на этот вопрос : RegEx match open tags except XHTML self-contained tags

+0

Спасибо за ссылку и ответ на нее отлично работает! –

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