提取第一个和第二个空格之间的字符串

Extract String Between First and Second Whitespace

我正在尝试提取列中文本的特定部分 - 我只想要第一个和第二个空格之间的文本 - 在本例中为制造年份。该字段位于数据框“数据”的“详细信息”列中。这是一致的结构:

二手 2014 丰田凯美瑞

我只对捕获此字段中的“2014”感兴趣:

这是我试过的方法:

sub(".*?\s+(.*)\s.*", "\1", "Used 2014 Toyota Camry", perl=TRUE)

非常感谢您的帮助。

你已经很接近了,你也需要限制你的捕获组。

sub(".*?\s+(.*?)\s.*", "\1", "Used 2014 Toyota Camry")
#[1] "2014"

如果那只是第一和第二个白色space,也可以使用这个解决方案:

strsplit("Used 2014 Toyota Camry", " ")[[1]][2]
[1] "2014"

我们可以做到

readr::parse_number(str1)
[1] 2014

或在base R

 trimws(str1, whitespace = "\D+")
[1] "2014"

数据

str1 <-  "Used 2014 Toyota Camry"