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

4
我想在R中使用gsub表达式,以删除字符串中最后一个空格之后的所有内容。例如,string="Da Silva UF"应返回"Da Silva"。有什么想法吗?
2个回答

7
使用 $ 锚点:
> string = "Da Silva UF"
> gsub(" [^ ]*$", "", string)
[1] "Da Silva"

3
您可以使用以下方式。
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接