使用R中的gsub删除一对括号内的任何内容

lok*_*art 5 regex r

假设我有如下字符串:

<a>b<c>
Run Code Online (Sandbox Code Playgroud)

我想删除这两个<a><c>的,但我不能使用gsub("<.*>","","<a>b<c>"),因为这将删除b也.

我之前问了一个类似的问题,但是在第二个想法中,我想我应该总体上学习如何处理这类问题.谢谢.

Ben*_*ker 11

不要>在支架之间的东西中放置一个封闭支架:

z <- "<a>b<c>"
gsub("<[^>]+>","",z)
Run Code Online (Sandbox Code Playgroud)


a'r*_*a'r 5

您可以使用非贪婪的正则表达式,例如。/<.*?>/

这只适用于简单的 HTML,并且很容易被破坏。考虑以下 HTML,它无法使用正则表达式轻松删除。

<span title="Help > Index">
Run Code Online (Sandbox Code Playgroud)

  • 您错过了一个“?” 在正则表达式中。 (3认同)