r - 使用带有多个分隔符的 strsplit

标签 r regex strsplit

这个问题在这里已经有了答案:





R strsplit with multiple unordered split arguments?

(4 个回答)


2年前关闭。




我该如何拆分这个

 Chr3:153922357-153944632(-)
 Chr11:70010183-70015411(-)   

进入
    Chr3  153922357 153944632 - 
    Chr11 70010183  70015411  -   

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

最佳答案

在基础 R 中使用 stringsplit 怎么样?和 gsub :

# Your sample strings
ss <- c("Chr3:153922357-153944632(-)",
        "Chr11:70010183-70015411(-)")

# Split items as list of vectors 
lst <- lapply(ss, function(x)
    unlist(strsplit(gsub("(.+):(\\d+)-(\\d+)\\((.)\\)", "\\1,\\2,\\3,\\4", x), ",")))


# rbind to dataframe if necessary
do.call(rbind, lst);
#    [,1]    [,2]        [,3]        [,4]
#[1,] "Chr3"  "153922357" "153944632" "-"
#[2,] "Chr11" "70010183"  "70015411"  "-"

这也适用于其他染色体名称和正链特征。

关于r - 使用带有多个分隔符的 strsplit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47773559/

相关文章:

ios - 如何进行高亮匹配(NSRegularExpression)?

python - 基于包含值的其他列复制行,然后返回具有拆分列值的行

r - 更改选择选项但保留以前选择的值

r - 从 R 中的 jpeg 图像中提取 RGB channel

JavaScript REGEX - 任意顺序相同的数字 3 次

python - 在 python 中解析字符串

r - 如何在 R 中将逗号和冒号分隔的列拆分为相应的列?

r - R中字符串的类字典匹配

r - 向量中仅某些元素的 N 种排列

html - 如何减少Shiny中sideBarPanel的边框宽度?