Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用正则表达式删除特定标记,同时保留内容_R_Regex - Fatal编程技术网

R 使用正则表达式删除特定标记,同时保留内容

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> </

对于包含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>

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还不熟悉,有点挣扎

标记本身是一致的,不包含任意数量的空白


谢谢

text
text是的,我认为这很好地解决了我的问题。谢谢是的,我认为这很好地解决了我的问题。谢谢
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>