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"