每n个字符的新列拆分字符串 [英] Split string every n characters new column
本文介绍了每n个字符的新列拆分字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一个这样的数据框,其中有一个字符串向量var2
var1 var2
1 abcdefghi
2 abcdefghijklmnop
3 abc
4 abcdefghijklmnopqrst
将每n个字符的var2拆分到每个字符串末尾的新列的最有效方式是什么?
例如,如果每4个字符,输出将如下所示:
var1 var2 new_var1 new_var2 new_var3 new_var4 new_var5
1 abcdefghi abcd efgh i
2 abcdefghijklmnop abcd efgh ijkl mnop
3 abc abc
4 abcdefghijklmnopqrst abcd efgh ijkl mnop qrst
字符串软件包?使用"STR_SPLIT_FIXED"
或使用正则表达式:
gsub("(.{4})", "\1 ", "abcdefghi")
根据var2的长度(例如,可以是10000个字符)创建转到new_var_n的新列的容量。
推荐答案
或者,您也可以在基本R中尝试read.fwf
,不需要特殊的包:
tmp <- read.fwf(
textConnection(dtf$var2),
widths = rep(4, ceiling(max(nchar(dtf$var2) / 4))),
stringsAsFactors = FALSE)
cbind(dtf, tmp)
# var1 var2 V1 V2 V3 V4 V5
# 1 1 abcdefghi abcd efgh i <NA> <NA>
# 2 2 abcdefghijklmnop abcd efgh ijkl mnop <NA>
# 3 3 abc abc <NA> <NA> <NA> <NA>
# 4 4 abcdefghijklmnopqrst abcd efgh ijkl mnop qrst
这篇关于每n个字符的新列拆分字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文