R语言 在多重和正则表达式模式之前提取子字符串

hwamh0ep  于 2023-11-14  发布在  其他
关注(0)|答案(1)|浏览(107)

在中,需要从R Dataframe 列的以下元素中获取子字符串。详细地说,我需要获取位于第一个数字或第一个开括号('[')之前的子字符串。甚至应该删除尾随空格。

[1] "Arturo Beniamo 29 10 2015.docx"               
   [2] "Arturo Beniamo [30 12 2015].docx"               
   [3] "Dominici Leonardo 02 06 2019.docx"                
   [4] "Didonna Marco 07 09 2023.docx"

字符串
这应该是结果:

[1] "Arturo Beniamo"               
   [2] "Arturo Beniamo"               
   [3] "Dominici Leonardo"                
   [4] "Didonna Marco"

w46czmvw

w46czmvw1#

您可以用途:

x <- c("Arturo Beniamo 29 10 2015.docx", "Arturo Beniamo [30 12 2015].docx" , 
       "Dominici Leonardo 02 06 2019.docx", "Didonna Marco 07 09 2023.docx")

sub('\\s(\\d|\\[).*', '', x)
#[1] "Arturo Beniamo"    "Arturo Beniamo"   "Dominici Leonardo" "Didonna Marco"

字符串
这将删除一个空格(\\s),后跟一个数字(\\d)或一个左方括号([)。

相关问题