gpt4 book ai didi

Ruby:如何在不使用 ActiveSupport 的情况下对字符串进行 dasherize

转载 作者:行者123 更新时间:2023-12-02 02:23:15 26 4
gpt4 key购买 nike

正如标题所说,我想通过 3 个字符的 block 来对字符串进行 dasherize,例如:

str = '123456789'
str.dasherize => # '123-456-789'

它应该在 Rails ActiveSupport 或任何其他 gem 之外完成。

最佳答案

你可以这样做:

'123456789'.scan(/.{1,3}/).join('-')
#=> "123-456-789"
'1234567890'.scan(/.{1,3}/).join('-')
#=> "123-456-789-0"
'12345678901'.scan(/.{1,3}/).join('-')
#=> "123-456-789-01"

这会将字符串拆分为 1-3 个字符 block 的 Array,然后用连字符重新连接它们。

您没有指定如果字符串的长度不是 3 的倍数,这样的方法应如何表现,但如果需要,您可以调整上述方法以获得其他结果。

关于Ruby:如何在不使用 ActiveSupport 的情况下对字符串进行 dasherize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66105910/

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