【问题标题】:Replacing multiple punctuation marks in a column of data替换一列数据中的多个标点符号
【发布时间】:2021-09-19 19:21:32
【问题描述】:

df 中的列:

chr10:123453:A:C
chr10:2345543:TTTG:CG
chr10:3454757:G:C
chr10:4567875765:C:G

期望的输出:

chr10:123453_A/C
chr10:2345543_TTTG/CG
chr10:3454757_G/C
chr10:4567875765_C/G

我想我可以使用 stingsplit,但我想尝试在 R oneliner 中完成所有操作。非常欢迎任何想法!

【问题讨论】:

    标签: r string replace gsub


    【解决方案1】:

    试试这个:

    gsub(":([A-Z]+):([A-Z]+)$", "_\\1/\\2", x, perl = TRUE)
    [1] "chr10:123453_A/C"      "chr10:2345543_TTTG/CG" 
    

    这里我们使用了两次反向引用:\\1 回忆前终极和终极 : 之间的内容,而 \\2 回忆终极 : 之后的内容。

    数据:

    x <- c("chr10:123453:A:C","chr10:2345543:TTTG:CG")
    

    【讨论】:

    • 非常感谢您花时间回复并给出明确的解释,反向引用是一个很好的提示!再次感谢!
    猜你喜欢
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    相关资源
    最近更新 更多