在R语言中如何保留空格前首字符并删除其余前缀内容?
解决方案
可以通过调整正则表达式,捕获名字的首字母并保留,同时保留姓氏部分。具体代码如下:
full_name <- "FirstName LastName" sub("^(.).*? (.*)$", "\\1 \\2", full_name) # 输出结果: "F LastName"
正则说明
^:匹配字符串开头位置(.):捕获名字的第一个字符(首字母),后续用\\1引用该内容.*?:匹配首字母之后到第一个空格之间的所有字符(非贪婪模式,确保只匹配名字部分)(.*)$:捕获空格之后的所有字符(姓氏部分),后续用\\2引用该内容- 替换为
\\1 \\2:将首字母和姓氏用空格连接,得到目标格式
如果想简化写法,也可以用下面的代码,效果完全一致:
sub("^(.).* ", "\\1 ", full_name)
内容的提问来源于stack exchange,提问作者user13973103
相关产品推荐
相关产品推荐

