R 将字符串拆分为任意数量的空格
我有以下字符串:R 将字符串拆分为任意数量的空格,r,string,strsplit,R,String,Strsplit,我有以下字符串: [1] "10012 ---- ---- ---- ---- CAB UNCH CAB" 我想用间隔分割这个字符串,但是间隔有可变数量的空格。有没有一种方法可以使用strsplit()函数拆分此字符串,并返回一个包含8个元素的向量,该向量已消除所有间隙 最好使用一行代码 只需使用strsplit和\\s+进行拆分: x <- "10012 ---- ---
[1] "10012 ---- ---- ---- ---- CAB UNCH CAB"
我想用间隔分割这个字符串,但是间隔有可变数量的空格。有没有一种方法可以使用strsplit()
函数拆分此字符串,并返回一个包含8个元素的向量,该向量已消除所有间隙
最好使用一行代码 只需使用
strsplit
和\\s+
进行拆分:
x <- "10012 ---- ---- ---- ---- CAB UNCH CAB"
x
# [1] "10012 ---- ---- ---- ---- CAB UNCH CAB"
strsplit(x, "\\s+")[[1]]
# [1] "10012" "----" "----" "----" "----" "CAB" "UNCH" "CAB"
length(.Last.value)
# [1] 8
strsplit函数本身工作,只需使用
strsplit(ss,“+”)
:
HTH
阅读.表格(text=yourstring)
?@Henrik请发布答案?我已经用过一百万次了。@zx8754谢谢你的提醒。不过我不太确定;OP希望“返回一个包含8个元素的向量”,而read.table
将生成一个包含8列的data.frame
。看来这不是合适的工具?
scan(text = x, what = "")
# Read 8 items
# [1] "10012" "----" "----" "----" "----" "CAB" "UNCH" "CAB"
ss = "10012 ---- ---- ---- ---- CAB UNCH CAB"
strsplit(ss, " +")
[[1]]
[1] "10012" "----" "----" "----" "----" "CAB" "UNCH" "CAB"