R-如何在第二个下划线后删除Rowname的一部分



我想在字符串中的第二个下划线之前获取所有字符。有什么想法我该怎么做?

我有这个:
part1-part2_part3_part4

我想要这个:

part1-part2_part3

所有零件都可以彼此不同,也可以有4个以上的部分。

您可以尝试gregexpr

str <- 'Part1-Part2_Part3_Part4'
start <- 1
end <- (unlist(gregexpr('_', str))[2] - 1)
substr(str, start, end)

您可以尝试使用gsub函数的懒惰匹配:

a = "Part1-Part2_Part3_Part4"
gsub("(.+?_.+?)_.*" ,"\1", a)
# [1] "Part1-Part2_Part3"

最新更新