我希望有连续的发票号,但在这种情况下,succ方法很糟糕(双关语)。
succ
'427'.succ > '428' (works!) '2021-9'.succ > '2022-0' (does not work) '2021.9'.succ > '2022.0' (does not work)
我找不到一个宝石,只有一个宝石排序字符串自然。如果没有人知道任何现有的解决方案,我将用一个自我编程的方法来回答这个问题。
wh6knrhe1#
您可以使用String#gsub并在匹配的数字上应用succ:
String#gsub
'427'.gsub(/\D(\d+)$|^\d+$/, &:succ) # "428" '2021-9'.gsub(/\D(\d+)$|^\d+$/, &:succ) # "2021-10" '2021-624'.gsub(/\D(\d+)$|^\d+$/, &:succ) # "2021-625"
1条答案
按热度按时间wh6knrhe1#
您可以使用
String#gsub
并在匹配的数字上应用succ
: