带有单方括号和多个方括号的Gsub

问题描述 投票:0回答:1

我有一个包含方括号的字符串,有时这是一组双方括号,有时是一组单方括号,后面跟着一组双方括号。我的问题是,当我尝试使用 gsub 删除这些时,我似乎无法删除两组,根据我的代码,我要么删除单组,要么删除双组。

df$names
Name, Example [A] [[UK
Name2, AnotherExample [[USA

我想要实现的目标:

df$名称 示例名称 另一个示例名称

为此,我尝试了以下方法; (顶部选项删除双方括号,而底行删除单方括号)

gsub("(.+)\\, (.+) \\[.+", "\\2 \\1", df$names)
gsub("(.+)\\, (.+)", "\\2 \\1", df$names)
r
1个回答
0
投票

在第二个替换中,匹配除括号之外的任何内容,以使查询不那么“贪婪”。

gsub("^(.+),[[:space:]]+([^\\[]+).*$", "\\2 \\1",x)
© www.soinside.com 2019 - 2024. All rights reserved.