gpt4 book ai didi

r - strsplit 并在第一个下划线之前保留部分

转载 作者:行者123 更新时间:2023-12-03 23:37:14 24 4
gpt4 key购买 nike

我想保留 FIRST 后的部分。请参阅示例代码。

colnames(df)
"EGAR00001341740_P32_1" "EGAR00001341741_PN32"

我的尝试,但不给 P32_1但只有 P32这是错误的。
sapply(strsplit(colnames(df), split='_', fixed=TRUE), function(x) (x[2]))

所需的输出: P32_1, PN32

最佳答案

可以使用正则表达式通过匹配零个或多个不是下划线( [^_]* )的字符从字符串的开头( ^ ),后跟一个下划线( _ )并用空格( "" )

colnames(df) <- sub("^[^_]*_", "", colnames(df))
colnames(df)
#[1] "P32_1" "PN32"

strsplit ,它会在 split 的任何地方 split 字符发生。一种选择是 str_split来自 stringr其中有一个选项可以指定“n”,即分割部分的数量。如果我们选择 n = 2 ,我们得到 2 个子串,因为它只会在第一个 _ 处 split
library(stringr)
sapply(str_split(colnames(df), "_", n = 2), `[`, 2)
#[1] "P32_1" "PN32"

关于r - strsplit 并在第一个下划线之前保留部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49752900/

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