【发布时间】:2017-12-19 08:25:58
【问题描述】:
假设我有一个数据框 df,其中列 df$strings 包含类似
的字符串[cat 00.04;09]
[cat 00.04;10]
等等。我想删除 "[cat" 和 "]" 之间的所有字符以产生
[cat]
[cat]
我已经使用 gsub 尝试过,但它不起作用,我不确定我做错了什么:
gsub('cat*?\\]', '', df)
【问题讨论】:
-
要查看您做错了什么,您应该与我们分享您的失败代码。
-
很公平,我添加了错误的代码,谢谢
-
真的很恶心,试试
gsub('\\[cat.*?\\]', '[cat]', df$strings)。或gsub('(\\[cat).*?(\\])', '\\1\\2', df$strings)。或gsub('\\[cat[^]]*\\]', '[cat]', df$strings). -
我尝试的第一个成功了!非常感谢!
-
和我发的差不多,只有下面的那个也会处理
[cat和]之间有换行的情况,而且会更快。跨度>