从R中的字符串中删除html标签

前端之家收集整理的这篇文章主要介绍了从R中的字符串中删除html标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将网页源读入R并将其处理为字符串.我试图从段落文本中删除段落并从中删除html标签.我遇到以下问题:

我尝试实现一个功能删除html标签

cleanFun=function(fullStr)
{
 #find location of tags and citations
 tagLoc=cbind(str_locate_all(fullStr,"<")[[1]][,2],str_locate_all(fullStr,">")[[1]][,1]);

 #create storage for tag strings
 tagStrings=list()

 #extract and store tag strings
 for(i in 1:dim(tagLoc)[1])
 {
   tagStrings[i]=substr(fullStr,tagLoc[i,1],2]);
 }

 #remove tag strings from paragraph
 newStr=fullStr
 for(i in 1:length(tagStrings))
 {
   newStr=str_replace_all(newStr,tagStrings[[i]][1],"")
 }
 return(newStr)
};

这适用于某些标签,但不适用于所有标签,这种失败的示例是以下字符串:

test="junk junk<a href=\"/wiki/abstraction_(mathematics)\" title=\"abstraction (mathematics)\"> junk junk"

目标是获得:

cleanFun(test)="junk junk junk junk"

但是,这似乎不起作用.我认为这可能与字符串长度或转义字符有关,但我找不到涉及这些字符串的解决方案.

解决方法

这可以通过正则表达式和grep系列实现:
cleanFun <- function(htmlString) {
  return(gsub("<.*?>","",htmlString))
}

这也可以在同一个字符串中使用多个html标签

猜你在找的HTML相关文章