字符串拆分操作
strsplit("name1.csv", "\\.")
(*)
返回列表:'"name1' 'csv"'
。
我知道我只能选择扩展名之前的文件名,如下所示:
strsplit("name1.csv", "\\.")[[1]][1]
(**)
但这是从(*)返回的列表中选择的,该列表的长度为1。
那是为什么?
答案 0 :(得分:0)
从strsplit
函数返回的对象是一个字符向量列表,可以使用类命令来找出它:
> class(strsplit("name1.csv", "\\."))
[1] "list"
> class(strsplit("name1.csv", "\\.")[[1]])
[1] "character"
可以使用[[
访问列表中的元素,而可以使用[[]] [
访问列表中的字符向量的元素。
strsplit
返回的对象是长度为1的列表,由长度为2的字符向量组成,如下所示:
> length(strsplit("name1.csv", "\\."))
[1] 1
> length(strsplit("name1.csv", "\\.")[[1]])
[1] 2