gpt4 book ai didi

删除第一个和第二个下划线之前和之后的字符提取第一个和第二个下划线之间的字符串

转载 作者:行者123 更新时间:2023-12-03 23:29:49 36 4
gpt4 key购买 nike

我在用

gsub(".*_","",ldf[[j]]),1,nchar(gsub(".*_","",ldf[[j]]))-4)

创建要写入的路径和文件名。它适用于 lfd 中的名称只有一个下划线。具有另一个下划线的文件名,它会切断第二个下划线前面的所有内容。

我有例如: Arof_07122016_2.csv我想要 07122016 ,但我得到 2 .但我不明白为什么会这样。如何使用这一行只截断第一个下划线中的字符并保留第二个?

最佳答案

看来你想要

sub("^[^_]*_([^_]*).*", "\\1", ldf[[j]])

regex demo

模式匹配
  • ^ - 字符串开头
  • [^_]* - 除 _ 之外的 0+ 个字符
  • _ - 一个underascxore
  • ([^_]*) - 捕获组 #1:除 _ 之外的任何 0+ 个字符
  • .* - 字符串的其余部分。
  • \1在替换模式中只保留结果中的捕获值。

    R demo :
    v <- c("Arof_07122016_2.csv", "Another_99999_ccccc_2.csv")
    sub("^[^_]*_([^_]*).*", "\\1", v)
    # => [1] "07122016" "99999"

    关于删除第一个和第二个下划线之前和之后的字符提取第一个和第二个下划线之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50945040/

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