在R中提取子字符串

时间:2014-10-22 14:54:38

标签: r

我知道此主题之前已经解决,但我仍然遇到问题。

我有一个字符串:

string<-"abcd-ef-2805"

我想隔离号码&#34; 2805&#34;并摆脱其余的。

同样,我有另一个字符串:

string2<-"ABCD.EF.2805.03A.0IT.0734.13" 

同样,我想隔离&#34; 2805&#34;并摆脱其余的。

感谢。

2 个答案:

答案 0 :(得分:2)

使用stringr包:

  str_extract(string2,"[0-9]+")  

这将提取第一个数字序列。根据你的编辑,如果序列总是4位数,那就更好了:

  str_extract(string2,"[0-9]{4}")

答案 1 :(得分:0)

如果位置永远不会改变且您的上述示例相关,您可以这样做:

string<-"abcd-ef-2805"
a<-unlist(strsplit(string,"-"))
a[3]

string2<-"ABCD.EF.2805.03A.0IT.0734.13" 
b<-unlist(strsplit(string2,"[.]"))
b[3]