gpt4 book ai didi

regex - 使用 gsub 从字符串中删除部分模式

转载 作者:行者123 更新时间:2023-12-01 08:30:01 25 4
gpt4 key购买 nike

我有一个这样的字符串列表(省略了 58*5 个案例):

participant_01_Bullpup_1.xml
participant_01_Bullpup_2.xml
participant_01_Bullpup_3.xml
participant_01_Bullpup_4.xml
participant_01_Bullpup_5.xml
#...Through to...
participant_60_Bullpup_1.xml
participant_60_Bullpup_2.xml
participant_60_Bullpup_3.xml
participant_60_Bullpup_4.xml
participant_60_Bullpup_5.xml

我想在这些上使用 gsub 以便我最终得到(仅示例):

01_1
60_5

目前我的代码如下:

fileNames <- Sys.glob("part*.csv")

for (fileName in fileNames) {
sample <- read.csv(fileName, header = FALSE, sep = ",")
part <- gsub("[^0-9]+", "", substring(fileName, 5, last = 1000000L))
print(part)
}

这会产生以下字符串(示例):

011
605

但是,我不知道如何在这些字符串之间保留一个下划线。

最佳答案

尝试

sub('[^0-9]+_([0-9]+_).*([0-9]+).*', '\\1\\2', str1)
#[1] "01_1"

library(stringr)
sapply(str_extract_all(str1, '\\d+'), paste, collapse='_')

数据

str1 <- 'participant_01_Bullpup_1.xml'

关于regex - 使用 gsub 从字符串中删除部分模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33931394/

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