R 如何将字符串向量更改为从拆分字符串派生的子字符串?

R 如何将字符串向量更改为从拆分字符串派生的子字符串?,r,R,如何将字符串向量更改为从拆分字符串派生的子字符串 一个示例向量: test <- c("1.folder/file1.csv","1.folder/file2.csv","1.folder/file3.csv") 有很多方法可以做到这一点,但以您的示例为例: test <- c("1.folder/file1.csv","1.folder/file2.csv","1.folder/file3.csv") stringr::str_split(test, '/') %>%

如何将字符串向量更改为从拆分字符串派生的子字符串

一个示例向量:

test <- c("1.folder/file1.csv","1.folder/file2.csv","1.folder/file3.csv")

有很多方法可以做到这一点,但以您的示例为例:

test <- c("1.folder/file1.csv","1.folder/file2.csv","1.folder/file3.csv")
stringr::str_split(test, '/') %>% 
      purrr::map(., 2)
test%
purrr::映射(,2)

如果您试图在桌面上查找文件,则list.files()可能会更好

有很多方法可以做到这一点,但以您的示例为例:

test <- c("1.folder/file1.csv","1.folder/file2.csv","1.folder/file3.csv")
stringr::str_split(test, '/') %>% 
      purrr::map(., 2)
test%
purrr::映射(,2)

如果您试图在桌面上查找文件,则list.files()可能会更好

你在找这样的东西吗

test <- c("1.folder/file1.csv","1.folder/file2.csv","1.folder/file3.csv")
sub(".*/", "", test)

你在找这样的东西吗

test <- c("1.folder/file1.csv","1.folder/file2.csv","1.folder/file3.csv")
sub(".*/", "", test)
或者,使用
sub
和backreference
\\1
调用捕获组中的子字符串
(…)

或者,使用
sub
和backreference
\\1
调用捕获组中的子字符串
(…)


您应该能够只使用
basename

basename(test)
## [1] "file1.csv" "file2.csv" "file3.csv"

basename
还有一个对应的
dirname
,它将为您提供文件名前面的部分。

您应该能够只使用
basename

basename(test)
## [1] "file1.csv" "file2.csv" "file3.csv"

basename
还有一个对应的
dirname
,它将为您提供文件名前面的部分。

带有
trimws
的选项,来自
baser

trimws(test, whitespace = ".*/")
#[1] "file1.csv" "file2.csv" "file3.csv"

带有
trimws
from
base R

trimws(test, whitespace = ".*/")
#[1] "file1.csv" "file2.csv" "file3.csv"

在您的模式中不需要
在您的模式中不需要
这是对
trimws
功能的巧妙使用。额外的要点,因为它也适用于更长的文件路径。这是对
trimws
函数的巧妙使用。额外的点,因为它也适用于更长的文件路径。