加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 在第一个和最后一个逗号上拆分字符串

发布时间:2020-12-14 06:04:21 所属栏目:百科 来源:网络整理
导读:我想在第一个和最后一个逗号上拆分字符串.每个字符串至少有两个 逗号.下面是一个示例数据集和所需的结果. 这里有一个类似的问题,询问如何拆分第一个逗号:Split on first comma in string 在这里,我问如何在前两个冒号上分割字符串:Split string on first t
我想在第一个和最后一个逗号上拆分字符串.每个字符串至少有两个
逗号.下面是一个示例数据集和所需的结果.

这里有一个类似的问题,询问如何拆分第一个逗号:Split on first comma in string

在这里,我问如何在前两个冒号上分割字符串:Split string on first two colons

谢谢你的任何建议.我更喜欢基地R的解决方案.抱歉,如果这是重复的话.

my.data <- read.table(text='

my.string        some.data
123,34,56,78,90     10
87,65,43,21         20
a4,b6,c8888         30
11,bbbb,ccccc       40
uu,vv,ww,xx         50
j,k,l,m,n,o,p       60',header = TRUE,stringsAsFactors=FALSE)

desired.result <- read.table(text='

 my.string1 my.string2 my.string3 some.data
        123   34,78         90        10
         87      65,43         21        20
         a4         b6      c8888        30
         11       bbbb      ccccc        40
         uu      vv,ww         xx        50
          j  k,o          p        60',stringsAsFactors=FALSE)

解决方法

这是一种相对简单的方法.在第一行中,我们使用sub用分号生成s替换第一个和最后一个逗号.然后我们使用sep =“;”读取s最后将my.data的其余部分cbind到它:

s <- sub(",(.*),",";1;",my.data[[1]])
DF <- read.table(text=s,sep =";",col.names=paste0("mystring",1:3),as.is=TRUE)
cbind(DF,my.data[-1])

赠送:

mystring1 mystring2 mystring3 some.data
1       123  34,78        90        10
2        87     65,43        21        20
3        a4        b6     c8888        30
4        11      bbbb     ccccc        40
5        uu     vv,ww        xx        50
6         j k,o         p        60

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读