正则表达式 – 在第一个和最后一个逗号上拆分字符串
发布时间: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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |