使用R中的正则表达式分隔列

时间:2014-03-19 10:16:36

标签: regex r

我有一个数据集,其中列使用大量的空格分隔,因此当您在文本编辑器中打开它时,列会对齐。

问题是我无法使用空白分隔符打开此文件,因为其中一列包含带空格的句子。我想知道我是否可以通过制作正则表达式分隔符在R中以某种方式打开此文件,

喜欢\s{2,}

我尝试输入sep='\s{2,}'

但这不起作用。

2 个答案:

答案 0 :(得分:1)

您可以使用readLines阅读所有内容,然后使用strsplit + rbind来创建data.frame

ll <- readLines(
  textConnection("Column1          Column2
Stupid sentence  Stupid sentence 2
foobar           foobar 2"))

l <- strsplit(ll, " {2,}")

df <- as.data.frame(do.call(rbind, l[-1]))
colnames(df) <- l[[1]]
df
#          Column1           Column2
#1 Stupid sentence Stupid sentence 2
#2          foobar          foobar 2

答案 1 :(得分:0)

您可以通过正则表达式

删除列数据的空白区域