【问题标题】:Nesting gsub - bad practice?嵌套 gsub - 不好的做法?
【发布时间】:2016-03-18 15:31:37
【问题描述】:
x  <- "a_b_c"

x_new <- gsub("_[[:alnum:]]*$","",gsub("^[[:alnum:]]*_","",x))

x_new 

工作得很好,我只是想知道这是否是糟糕的编程风格?

谢谢

【问题讨论】:

  • 如果可能的话,为什么不一次性完成(gsub 调用)?它会更快,可能更清洁。 (例如,您可以使用反向引用sub("^[[:alnum:]]*_(.*)_[[:alnum:]]*$", "\\1", x)
  • 请检查问题中的代码是否应该有下划线并进行相应的编辑
  • 大家好,感谢您的回答,毕竟它们仍然很有帮助。

标签: r gsub


【解决方案1】:

我们可以用一个gsub 做到这一点。只需使用| 建议OR

gsub("^[[:alnum:]]+|[[:alnum:]]+$", '', x)

【讨论】:

  • 对于反对者,我的解决方案是基于 OP 之前的帖子。如果被编辑,我概不负责。
  • 我没有投反对票,但是您指的是之前的哪个帖子?
  • @docendodiscimus 我的意思是在编辑之前,它没有_。我仅在检查 OP 代码的输出后才发布解决方案。
  • 嗯,奇怪,在编辑历史中,看起来好像我添加了那些下划线,但我没有这样做.. 至少不是有意识的.. 我以为我只是将其格式化为代码。现在回滚
  • @docendodiscimus 谢谢,现在我会回到我以前的版本
猜你喜欢
  • 1970-01-01
  • 2019-02-12
  • 2018-08-17
  • 2014-04-30
  • 1970-01-01
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多