相关疑难解决方法(0)

在第一个空格上拆分字符串

我想将字符串(人名)的矢量分成两列(向量).问题是有些人有一个"两个字"的姓氏.我想将名字和姓氏分成两列.我可以使用下面的代码切出并使用名字,但姓氏使我无效.(看看下面的样本集中的obs 29,以获得一个想法,因为福特有一个必须保持在一起的Pantera L的"姓氏")

到目前为止我试图做的事情;

x<-rownames(mtcars)
unlist(strsplit(x, " .*"))
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像:

            MANUF       MAKE
27          Porsche     914-2
28          Lotus       Europa
29          Ford        Pantera L
30          Ferrari     Dino
31          Maserati    Bora
32          Volvo       142E
Run Code Online (Sandbox Code Playgroud)

regex r

23
推荐指数
4
解决办法
2万
查看次数

R:在第一个分隔符出现时快速字符串分割

我有一个大约有4千万行的文件,我需要根据第一个逗号分隔符进行拆分.

以下使用该stringr功能str_split_fixed运行良好,但速度很慢.

library(data.table)
library(stringr)

df1 <- data.frame(id = 1:1000, letter1 = rep(letters[sample(1:25,1000, replace = T)], 40))
df1$combCol1 <- paste(df1$id, ',',df1$letter1, sep = '')
df1$combCol2 <- paste(df1$combCol1, ',', df1$combCol1, sep = '')

st1 <- str_split_fixed(df1$combCol2, ',', 2)
Run Code Online (Sandbox Code Playgroud)

有什么建议可以更快地完成这项工作吗?

regex string split r

5
推荐指数
1
解决办法
932
查看次数

使用带有多个分隔符的 strsplit

我该如何拆分这个

 Chr3:153922357-153944632(-)
 Chr11:70010183-70015411(-)   
Run Code Online (Sandbox Code Playgroud)

进入

    Chr3  153922357 153944632 - 
    Chr11 70010183  70015411  -   
Run Code Online (Sandbox Code Playgroud)

我试过了strsplit(df$V1,"[[:punct:]]")),但最终结果中没有出现负号

regex r strsplit

5
推荐指数
1
解决办法
4413
查看次数

标签 统计

r ×3

regex ×3

split ×1

string ×1

strsplit ×1