gpt4 book ai didi

regex - 使用 gsub 删除字符串中括号之间出现在 R 中字符串末尾的部分

转载 作者:行者123 更新时间:2023-12-02 21:38:07 25 4
gpt4 key购买 nike

我正在寻找一个 gsub 表达式,它可以删除括号之间字符串的任何部分,但仅限于它出现在该字符串末尾时。例如。对于

string="n-Pentacosane (C-25)"

我希望它只返回“n-Pentacosane”。但重要的是,它不会删除字符串中前面括号之间写入的任何内容。也许有人有什么想法吗?

最佳答案

这应该可以做到:

sub(' *\\([^)]*)$', '', "n-Pentacosane (C-25)")

即:

  • sub 就足够了,因为我们将进行一次替换
  • 为了匹配起始括号,我们需要编写:\\(。无需转义第二个。
  • 为了在最后进行匹配,我们需要两件事:
    1. 在末尾使用 $ 进行匹配
    2. 使匹配非贪婪:通过使用[^)]*,我们避免在输入中替换太多内容,例如penta (something) cosane (C- 25),得到 penta (something) cosane 作为结果,而不是 penta

关于regex - 使用 gsub 删除字符串中括号之间出现在 R 中字符串末尾的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20926708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com