R中的正则表达式,用于删除最后一个空格后的字符串部分

时间:2013-12-10 15:05:33

标签: regex r gsub

我想在R中有一个gsub表达式来删除在最后一个空格之后出现的字符串中的所有内容。例如。 string="Da Silva UF"应该返回给我"Da Silva"。有什么想法吗?

2 个答案:

答案 0 :(得分:7)

使用$锚点:

> string = "Da Silva UF"
> gsub(" [^ ]*$", "", string)
[1] "Da Silva"

答案 1 :(得分:2)

您可以使用以下内容。

string <- 'Da Silva UF'
gsub(' \\S*$', '', string)

[1] "Da Silva"

说明:

            ' '
\S*         non-whitespace (all but \n, \r, \t, \f, and " ") (0 or more times)
  $         before an optional \n, and the end of the string