替换一列数据中的多个标点符号

Replacing multiple punctuation marks in a column of data

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 中完成这一切。非常欢迎任何想法!

试试这个:

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")