假设我有如下字符串:
<a>b<c>
我想删除<a>
和<c>
,但我无法使用gsub("<.*>","","<a>b<c>")
,因为这样也会删除b
。
答案 0 :(得分:11)
不要在括号内的东西中使用右括号>
:
z <- "<a>b<c>"
gsub("<[^>]+>","",z)
答案 1 :(得分:4)
你可以使用非贪婪的正则表达式,例如。 /<.*?>/
。
这只适用于简单的HTML,并且很容易被破坏。请考虑以下HTML,使用正则表达式无法轻松删除。
<span title="Help > Index">
答案 2 :(得分:4)
还有一个想法,通常在嘈杂的设置中非常有用(即,当它接近制作一个标记器时):
strsplit("<a>b<c>",split='<|>')[[1]][3]