我有一个具有挑战性的 Ruby 问题:
我想将“你好”转换为“YDWOh”,将“你好吗”转换为“uoy era Woh”。
这本质上是大写、交换大小写和反向函数。大写和交换大小写仅适用于句子的第一个单词。当句子中有多个单词时,我该怎么做?
我有一个具有挑战性的 Ruby 问题:
我想将“你好”转换为“YDWOh”,将“你好吗”转换为“uoy era Woh”。
这本质上是大写、交换大小写和反向函数。大写和交换大小写仅适用于句子的第一个单词。当句子中有多个单词时,我该怎么做?
尝试以下步骤:
capitalize
你的字符串split(' ')
你的字符串成一个带有单词的数组each_with_index.map
遍历数组中的每个单词swapcase
数组的第一个单词join(' ')
数组变回字符串reverse
字符串您可以尝试以下方法:
a = "how are you"
p a.gsub(a.split[0...1].join(' '),a.split[0...1].join(' ').capitalize.swapcase).reverse
输出:
"uoy era WOh"