R语言中strsplit拆分后字符串length为1却可截取多字符的原因
问题解释
在R语言中,length()函数针对字符串时,返回的是字符串向量的元素个数,而非字符串本身的字符长度。你的变量z是仅包含1个字符串元素的向量,因此length(z)返回1,但这个元素本身是"b0.5",实际字符长度为4(依次是'b'、'0'、'.'、'5')。
substr()函数的作用是对单个字符串内部的字符位置进行截取,它只关注目标字符串自身的字符数量,和向量的length是完全独立的两个概念:
substr(z,1,1)截取第1个字符:"b"substr(z,1,2)截取前2个字符:"b0"substr(z,1,3)截取前3个字符:"b0."substr(z,1,4)截取前4个字符:"b0.5"
若要获取字符串本身的字符长度,应使用nchar(z),它会返回4,这才是与substr操作对应的长度指标。
内容的提问来源于stack exchange,提问作者dtudor
相关产品推荐
相关产品推荐

