在以下字符串中
test_string = "This is a te<8239154>st str<ass31>ing."
我想用空字符串替换表单<xxx>的所有出现。
<xxx>
我知道我可以使用gsub("<8239154>", "", "test_string "),但这不能动态地应用于比较符号之间的任何字符串。我怎样才能做到这一点?
gsub("<8239154>", "", "test_string ")
发布于 2021-07-09 00:41:14
您可以使用
gsub("<[^>]*>", "", test_string) gsub("<[^<>]*>", "", test_string)
<[^>]*>正则表达式匹配<,然后匹配除>以外的任何零或多个字符,然后匹配>字符。<[^<>]*>模式类似,只是它不允许<在<和>之间(这可以方便地删除<和>的最内部事件)。
<[^>]*>
<
>
<[^<>]*>
见这个regex演示。
请注意,如果您只需要删除包含<和>符号的单词字符,则可以使用更具体的解决方案,即
gsub("<\\w+>", "", test_string)
其中\w+匹配一个或多个字母、数字或下划线。见这个regex演示。
\w+
https://stackoverflow.com/questions/68313671
相似问题
领取专属 10元无门槛券
AI混元助手 在线答疑
洞察 腾讯核心技术
剖析业界实践案例