aa-bbb aa-vvv-vv => a-6ren">
gpt4 book ai didi

删除向量的每个元素中第 2 次出现 "-"之后的所有字符

转载 作者:行者123 更新时间:2023-12-02 08:43:08 24 4
gpt4 key购买 nike

我想删除向量中每个元素中第 2 次出现“-”之后的所有字符。

 Initial string  
aa-bbb-cccc => aa-bbb
aa-vvv-vv => aa-vvv
aa-ddd => aa-ddd

有什么帮助吗?

最佳答案

根据样本输入和预期输出判断,我假设您需要删除所有以第二个连字符开头的内容。

你可以使用

sub("^([^-]*-[^-]*).*", "\\1", x)

参见 regex demo

详细信息:

  • ^ - 字符串的开始
  • ([^-]*-[^-]*) - 第 1 组捕获除 ---
  • 以外的 0+ 个字符
  • .* - 任何 0+ 个字符(在像这样的 TRE 正则表达式中,点也匹配换行符。)

\\1 (\1) 是对捕获到组 1 中的文本的反向引用。

R demo :

x <- c("aa-bbb-cccc", "aa-vvv-vv", "aa-ddd")
sub("^([^-]*-[^-]*).*", "\\1", x)
## => [1] "aa-bbb" "aa-vvv" "aa-ddd"

关于删除向量的每个元素中第 2 次出现 "-"之后的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41622326/

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