gpt4 book ai didi

ruby - 使用 Ruby 将句子中每个单词的最后一个字符更改为大写

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

我被要求编写一些 Ruby 代码,将句子中每个单词的最后一个字符更改为大写。这样的字符串:

"script to convert the last letter of every word to a capital"

成为

"scripT tO converT thE lasT letteR oF everY worD tO A capitaL"

这是我最终使用的:

"script to convert the last letter of every word to a capital".split.map{|w|w<<w.slice!(-1).chr.upcase}.join' '

对于那些对这里发生的事情感兴趣的人,这里有一个解释。

split 会将句子拆分成一个数组,默认分隔符是一个空格,对于 Ruby,您不需要在此处使用方括号。

ma​​p 来自 split 的数组传递给 map,它打开一个 block 并处理数组中的每个单词 (w)。 block slice!(s) 关闭单词的最后一个字符并将其转换为 chr(非 ASCII 码的字符),然后将 大写 它。此字符现在附加到缺少切片的最后一个字母的单词后 <<。最后,单词数组现在通过 ' ' join 重组句子。

最佳答案

这是一个快速而肮脏的正则表达式方法,肯定会以我没有考虑过的方式被破坏:

"the quick brown fox jumps over the lazy dog".gsub(/.\b/) { |m| m.upcase }

即将单词边界前的最后一个字符匹配大写。

关于ruby - 使用 Ruby 将句子中每个单词的最后一个字符更改为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3007543/

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