gpt4 book ai didi

ruby - 在没有 gsub 的情况下替换字符串的优雅方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:07 25 4
gpt4 key购买 nike

我有一些动态字符串,它们有一个 X 字符。 X 可以连续出现,也可以分散出现在字符串中。我想用 # 替换那些 X

例如,abXXcX12XX。我想要 ab#c#12#。这意味着多个连续的 X 必须仅由一个 # 替换,如果只有一个 X,则也由一个 #.

我试过:

s = "aXX123Xc56XXX"
s.squeeze('X').gsub('X','#') # => "a#123#c56#"

任何优雅的方式或直接的方法来执行相同的操作?

最佳答案

我会使用 String#tr_s如下:

Processes a copy of str as described under String#tr, then removes duplicate characters in regions that were affected by the translation.

s = "aXX123Xc56XXX"
s.tr_s('X','#') # => "a#123#c56#"

关于ruby - 在没有 gsub 的情况下替换字符串的优雅方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21122452/

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