我在R中有一部分HTML代码,如下所示:
"</a> <img src=\"images/arrow_orange.gif\" width=\"8\" height=\"12\"> <a href=\"group.php?g=1\">XXXX</a> <img src=\"images/arrow_orange.gif\" width=\"8\" height=\"12\"> <a href=\"category.php?c=100050\">YYYY</a> <img src=\"images/arrow_orange.gif\" width=\"8\" height=\"12\"> <a href=\"category.php?c=100050&brand=Motorola\">ZZZZ</a> <img src=\"images/arrow_orange.gif\" width=\"8\" height=\"12\">AAAA"
我想使用gsub删除不需要的HTML代码,以便输出:
XXXX YYYY ZZZZ AAAA
我试图显示<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>
here但是失败了,为什么?
我怎样才能在R中做到?感谢。
答案 0 :(得分:1)
我建议您留意@Ramnath和@Iterator的警告并使用解析器代替,但这是我能用你的字符串做的最好的regex
:
(首先在输入字符串的末尾添加一个缺失)
x <- "</a> <img src=\"images/arrow_orange.gif\" width=\"8\" height=\"12\"> <a href=\"group.php?g=1\">XXXX</a> <img src=\"images/arrow_orange.gif\" width=\"8\" height=\"12\"> <a href=\"category.php?c=100050\">YYYY</a> <img src=\"images/arrow_orange.gif\" width=\"8\" height=\"12\"> <a href=\"category.php?c=100050&brand=Motorola\">ZZZ</a> <img src=\"images/arrow_orange.gif\" width=\"8\" height=\"12\">AAAA</a>"
代码:
x1 <- gsub("<([[:alpha:]][[:alnum:]]*)(.[^>]*)>([.^<]*)", "\\3", x)
x1
[1] "</a> XXXX</a> YYYY</a> ZZZ</a> AAAA</a>"
gsub("</a>", "", x1)
[1] " XXXX YYYY ZZZ AAAA"