gpt4 book ai didi

r - 使字符向量的所有元素长度相同

转载 作者:行者123 更新时间:2023-12-04 12:08:25 45 4
gpt4 key购买 nike

考虑一个字符向量

test <- c('ab12','cd3','ef','gh03')

我需要 test 的所有元素包含 4 个字符 ( nchar(test[i])==4 )。如果元素的实际长度小于 4,则其余位置应填充零。所以,结果应该是这样的
> 'ab12','cd30','ef00','gh03'

我的问题类似于 this one .但是,我需要使用字符向量。

最佳答案

我们可以使用 base R函数在字符串的末尾填充 0 以获得相等的字符数。 formatwidth指定为 maxnchar vector 的(字符数)给出末尾带有尾随空格的输出(默认为 format justifyright 。然后,我们可以使用 gsub 将每个空格替换为“0”。gsub 中的模式是单个空格( \\s ),替换为 0

gsub("\\s", "0", format(test, width=max(nchar(test))))
#[1] "ab12" "cd30" "ef00" "gh03"

或者,如果我们使用的是打包解决方案,那么 str_pad这样做更容易,因为它还具有指定 pad 的参数.
library(stringr)
str_pad(test, max(nchar(test)), side="right", pad="0")

关于r - 使字符向量的所有元素长度相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36136808/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com