You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中使用paste0()函数生成带空格的指定格式字符串?

解决R中paste0()拼接格式问题的方法

嘿,我之前也踩过这个坑!先给你说清楚问题出在哪:paste0()其实是paste(..., sep = "")的简写,它根本不支持sep参数——这就是你用sep和collapse都无效的原因!它只会把所有传入的字符串无缝拼接在一起,所以才会得到"8JaviMartinez"这种结果。

那怎么得到你要的"数字:名 姓"格式呢?给你两种简单的解决方案:

方法一:用paste()代替paste0()(更直观)

paste()是支持sep参数的,我们可以先把名和姓拼成带空格的完整姓名,再和数字用: 拼接:

# 先修正变量名的小笔误:你的列表里是Number,不是Nummer
paste(L$Number, paste(L$Surname, L$Name), sep = ": ")

方法二:坚持用paste0()?手动插入分隔符就行

如果一定要用paste0(),那我们直接把需要的分隔符(: 和空格)作为字符串的一部分传进去,让它直接拼接:

paste0(L$Number, ": ", L$Surname, " ", L$Name)

运行任意一种方法,你都会得到想要的结果:

[1] "8:Javi Martinez"    "11:James Rodriguez" "25:Thomas Mueller"  "10:Arjen Robben"   
[5] "27:David Alaba"     "23:Arturo Vidal"    "9:Robert Lewandowski"

另外提个小细节:你的目标结果里是Müller,但列表里是Mueller,如果需要显示带变音符号的拼写,直接把列表里的Mueller改成Müller就好啦~

内容的提问来源于stack exchange,提问作者Rio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:56:19