R 使用正则表达式删除特定标记,同时保留内容
对于包含HTML标记的文本体,我有一个特定的问题,可以通过删除特定标记并保留这些标记的内容来解决(本质上是将文本在层次结构中提升一个级别) 例如,我想:R 使用正则表达式删除特定标记,同时保留内容,r,regex,R,Regex,对于包含HTML标记的文本体,我有一个特定的问题,可以通过删除特定标记并保留这些标记的内容来解决(本质上是将文本在层次结构中提升一个级别) 例如,我想: <div> <div class="meta">Wednesday, 2 November 2016 at 15:52 UTC</div> <div class="comment">My life this weekend</div> <p></p> </
<div>
<div class="meta">Wednesday, 2 November 2016 at 15:52 UTC</div>
<div class="comment">My life this weekend</div>
<p></p>
</div>
2016年11月2日星期三15:52 UTC
我这个周末的生活
成为:
<div>
<div class="meta">Wednesday, 2 November 2016 at 15:52 UTC</div>
My life this weekend
<p></p>
</div>
2016年11月2日星期三15:52 UTC
我这个周末的生活
我正在使用library(XML)
来解析清理后的标记,因此这里不需要使用XML::xpathsaply()
我相信解决方案在于某种正则表达式,它匹配一个包含两个标记的模式,并忽略它们之间的文本,直接用“”替换。我相信前瞻性也是必须的,但我对regex还不熟悉,有点挣扎
标记本身是一致的,不包含任意数量的空白
谢谢
texttext是的,我认为这很好地解决了我的问题。谢谢是的,我认为这很好地解决了我的问题。谢谢
text <- "<div>
<div class=\"meta\">Wednesday, 2 November 2016 at 15:52 UTC</div>
<div class=\"comment\">My life this weekend</div>
<p></p>
</div>"
m <- gsub("<div class=\"comment\">(.*?)</div>", "\\1", text, perl = TRUE)
cat(m)
<div>
<div class="meta">Wednesday, 2 November 2016 at 15:52 UTC</div>
My life this weekend
<p></p>
</div>