删除 r 中方括号内的任何文本

Posted

技术标签:

【中文标题】删除 r 中方括号内的任何文本【英文标题】:Remove any text inside square brackets in r 【发布时间】:2019-03-11 15:32:27 【问题描述】:

我想删除方括号内的所有单词以及括号本身。例如,

text = c('[Verse 1]', '[Verse 1: Dua Lipa]', '[Corus]', '[Corus: Ann Marie & Ed Sheeran]')

和上面一样,括号内的单词长度不是恒定的。所以我需要一个可以识别[] 位置的函数,以便擦除它们之间的所有单词、数字和符号。有没有什么功能可以做到这一点?

【问题讨论】:

您正在使用什么工具,您已经尝试过什么? 嘿Corion,我正在使用R 【参考方案1】:

您可以使用

删除方括号内的所有子字符串
gsub("\\[[^][]*]", "", text)

该模式匹配一​​个左方括号,然后是任何零个或多个除方括号外的字符,然后是一个右方括号。

【讨论】:

天啊,非常感谢维克托!!它是如此简单和干净。太棒了:D 那么我如何将它应用于<, > 而不是[, ] 的情况?我真的不擅长正则表达式。 @Jean gsub("<[^<>]*>", "", text)。你在尝试什么? 谢谢!现在我想我得到了直觉。我正在用歌词进行文本挖掘。有些部分是不必要的,所以这就是原因。 是的,我做到了。再次感谢!

以上是关于删除 r 中方括号内的任何文本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式删除括号内的文本?

如何在python中删除括号()内的任何内容[重复]

正则表达式查找字符串中大括号内的任何标签

sql语句中方括号[]有啥用?

Python中方括号和括号括起来的列表有啥区别?

犰狳库中方括号[]和圆括号()的区别