Ruby中的大写,交换大小写和反转[重复]

Posted

技术标签:

【中文标题】Ruby中的大写,交换大小写和反转[重复]【英文标题】:Capitalize, swapcase and reverse in Ruby [duplicate] 【发布时间】:2013-03-29 23:00:16 【问题描述】:

我有一个具有挑战性的 Ruby 问题:

我想将“howdy”转换为“YDWOh”,将“how are you”转换为“uoy era Woh”。

本质上是大写、交换大小写和反向函数。大写和交换大小写仅适用于句子的第一个单词。如果句子中有多个单词,我该怎么做?

【问题讨论】:

这似乎不是正常情况。是作业还是编程挑战?如果是这样,无论哪种情况,您都应该自己弄清楚。这就是作业和编程挑战的重点。 【参考方案1】:

尝试以下步骤:

    capitalize你的字符串 split(' ')你的字符串到一个带有单词的数组中 使用each_with_index.map 遍历数组中的每个单词 仅在数组的第一个单词上使用swapcase join(' ')将数组转回字符串 reverse 字符串

【讨论】:

@Linuxios,但我没有故意添加代码......所以至少还有一些东西让他自己弄清楚。 对不起。我会回复的。有人在下面告诉我,我应该将我的代码答案编辑为您的答案,因为它正在使用您的步骤。我会恢复的。【参考方案2】:

您可以尝试以下方法:

a = "how are you"
p a.gsub(a.split[0...1].join(' '),a.split[0...1].join(' ').capitalize.swapcase).reverse

输出:

"uoy era WOh"

【讨论】:

以上是关于Ruby中的大写,交换大小写和反转[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将列表中的大写字母转换成小写,并对比两个列表是否有重复

java大小写转换

javascript 字符串 数字反转 字母大小写互换

java大小写转换

Ruby 方法

Ruby 方法