gpt4 book ai didi

ruby - 一次在字符串中插入多个字符

转载 作者:数据小太阳 更新时间:2023-10-29 08:35:23 24 4
gpt4 key购买 nike

str[] 将替换一个字符,而 str.insert 将在一个位置插入一个字符。但它需要两行代码:

str = "COSO17123456"
str.insert 4, "-"
str.insert 7, "-"
=> "COSO-17-123456"

我在想如何用一行代码来做到这一点。我提出了以下解决方案:

str =  "COSO17123456"
str.each_char.with_index.reduce("") { |acc,(c,i)| acc += c + ( (i == 3 || i == 5) ? "-" : "" ) }
=> "COSO-17-123456

这个任务是否有内置的 Ruby 助手?如果不是,我应该坚持使用插入选项而不是组合多个迭代器吗?

最佳答案

使用each 遍历索引数组:

str = "COSO17123456"
[4, 7].each { |i| str.insert i, '-' }
str #=> "COSO-17-123456"

关于ruby - 一次在字符串中插入多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50748169/

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