Regex 如何在r中每隔一个逗号后拆分列中的文本
我在dataframe中有一个列,它由包含如下值的行组成Regex 如何在r中每隔一个逗号后拆分列中的文本,regex,r,Regex,R,我在dataframe中有一个列,它由包含如下值的行组成 SNORD55,RNA5SP47,RNU5F-1,RPS8,RNU5E-6P,SNORD38A,SNORD38B,RNU5D-1,SNORD46,KIF2C,NASP,ZSWIM5,LINC01144,OSTCP5,GPBP1L1,RPS15AP11,BEST4,HMGB1P48,HPDL,CCDC17,AKR1A1,MRPS17P1,TMEM53,HECTD3,UROD,TOE1,TESK2,BTBD19,MUTYH,PTCH2,TCT
SNORD55,RNA5SP47,RNU5F-1,RPS8,RNU5E-6P,SNORD38A,SNORD38B,RNU5D-1,SNORD46,KIF2C,NASP,ZSWIM5,LINC01144,OSTCP5,GPBP1L1,RPS15AP11,BEST4,HMGB1P48,HPDL,CCDC17,AKR1A1,MRPS17P1,TMEM53,HECTD3,UROD,TOE1,TESK2,BTBD19,MUTYH,PTCH2,TCTEX1D4,PLK3,CCDC163P,PRDX1,CCNB1IP1P1,EIF2B3,MMACHC,C1orf228
我希望每秒钟有一行新的逗号
我尝试了以下方法:
df.l$hgnc_symbol<-sub("([^\\,]*\\,[^\\,]*\\,)","\\1\n",df.l$hgnc_symbol)
df.l$hgnc_symbol解决方法:1。在每个逗号处拆分2。把两个元素成对地放在一起
x <- "SNORD55,RNA5SP47,RNU5F-1,RPS8,RNU5E-6P,SNORD38A,SNORD38B,RNU5D-1,SNORD46,KIF2C,NASP,ZSWIM5,LINC01144,OSTCP5,GPBP1L1,RPS15AP11,BEST4,HMGB1P48,HPDL,CCDC17,AKR1A1,MRPS17P1,TMEM53,HECTD3,UROD,TOE1,TESK2,BTBD19,MUTYH,PTCH2,TCTEX1D4,PLK3,CCDC163P,PRDX1,CCNB1IP1P1,EIF2B3,MMACHC,C1orf228"
y <- matrix(strsplit(x, ",")[[1]], , 2, byrow=TRUE)
paste(y[,1], y[,2], sep=",")
x解决方法:1。在每个逗号处拆分2。把两个元素成对地放在一起
x <- "SNORD55,RNA5SP47,RNU5F-1,RPS8,RNU5E-6P,SNORD38A,SNORD38B,RNU5D-1,SNORD46,KIF2C,NASP,ZSWIM5,LINC01144,OSTCP5,GPBP1L1,RPS15AP11,BEST4,HMGB1P48,HPDL,CCDC17,AKR1A1,MRPS17P1,TMEM53,HECTD3,UROD,TOE1,TESK2,BTBD19,MUTYH,PTCH2,TCTEX1D4,PLK3,CCDC163P,PRDX1,CCNB1IP1P1,EIF2B3,MMACHC,C1orf228"
y <- matrix(strsplit(x, ",")[[1]], , 2, byrow=TRUE)
paste(y[,1], y[,2], sep=",")
x如果你想用正则表达式,这个怎么样
df.l$hgnc_symbol<-gsub("([\w-]+,[\w-]+),","\\1,\n",df.l$hgnc_symbol)
df.l$hgnc_symbol如果您想使用正则表达式,那么这个呢
df.l$hgnc_symbol<-gsub("([\w-]+,[\w-]+),","\\1,\n",df.l$hgnc_symbol)
df.l$hgnc_符号如@DavidArenburg所述。我只需要添加gsub,而不是@DavidArenburg提到的sub。我只需要添加gsub而不是sub使用gsub
而不是sub
解决方法:1。在每个逗号处拆分2。将两个元素成对放在一起。@Davidernburg gsub不适用于此模式。怀疑是模式问题而不是功能问题你什么意思?它在每秒钟的逗号后插入\n
,这不正是您需要的吗?抱歉@DavidArenburg。它确实有效。建议张贴作为答案?也许可以解释为什么gsub可以代替sub工作?使用gsub
代替sub
解决方法:1。在每个逗号处拆分2。将两个元素成对放在一起。@Davidernburg gsub不适用于此模式。怀疑是模式问题而不是功能问题你什么意思?它在每秒钟的逗号后插入\n
,这不正是您需要的吗?抱歉@DavidArenburg。它确实有效。建议张贴作为答案?也许可以解释为什么gsub工作而不是sub?