gpt4 book ai didi

ruby - 将Ruby中字符串中每个单词的第n个字符大写

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

我需要将字符串中每个单词的每个“第 n 个”字符大写(在此示例中,第 4 个字符的每个倍数,因此字符 4、8、12 等)。

我想出了下面的代码(我知道不是很优雅!)但它只适用于 length < 8 的单词.

'capitalize every fourth character in this string'.split(' ').map do |word|
word.split('').map.with_index do |l,idx|
idx % 3 == 0 && idx > 0 ? word[idx].upcase : l
end
.join('')
end
.flatten.join(' ')

谁能告诉我如何将长度 > 8 的单词中的每 4 个字符大写?

谢谢!

最佳答案

str = 'capitalize every fourth character in this string'

idx = 0
str.gsub(/./) do |c|
case c
when ' '
idx = 0
c
else
idx += 1
(idx % 4).zero? ? c.upcase : c
end
end
#=> "capItalIze eveRy fouRth chaRactEr in thiS strIng"

关于ruby - 将Ruby中字符串中每个单词的第n个字符大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51697394/

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