R

时间:2015-06-05 17:25:46

标签: r substring gsub

我有一些格式化为\t\tloc: 'Silver Spring, MD',的字符串,我从网站中提取并想要只检索城市名称和州名缩写,例如Silver Spring, MD。我正在考虑组合使用gsubsubstr,但城市名称可能会根据其他数据进行更改,因此为substr提供开始和结束索引是没有意义的。这是我到目前为止尝试的代码:

# Would like to extract the string "Silver Spring, MD"
# What I tried:
ldata <- "\t\tloc: 'Silver Spring, MD',"
dt<- gsub(".*: ", "",ldata)
# Produces: 'Silver Spring, MD',"

然而,字符串总是以相同的方式出现,其中城市名称位于字符串段的“ABCDE,FG”部分。我是R的新手,所以如果有更有效的方法可以做到这一点。

2 个答案:

答案 0 :(得分:1)

dt<-sub(".*'(.*)'.*","\\1",ldata)

答案 1 :(得分:1)

不使用捕获组的另一个选项是

gsub("^[^']+'|',$", '', ldata)
#[1] "Silver Spring, MD"