Ruby字符串翻译

时间:2009-05-01 20:35:39

标签: python ruby string

我想找到编码字符串中每个元素的后继元素。例如K-> M A-> C等

string.each_char do |ch| 
    dummy_string<< ch.succ.succ
end

然而,该方法转换y-> aa。

Ruby中的方法是否与Python中的maketrans()类似?

3 个答案:

答案 0 :(得分:8)

您似乎在寻找String#tr。使用方式如下:some_string.tr('a-zA-Z', 'c-zabC-ZAB')

答案 1 :(得分:1)

def successor(s)
    s.tr('a-zA-Z','c-zabC-ZAB')
end

successor("Chris Doggett") #"Ejtku Fqiigvv"

答案 2 :(得分:0)

我不知道一个随便,但我认为Ruby方式可能涉及将块传递给regexp函数。这是一个愚蠢的,只适用于大写字母:

"ABCYZ".gsub(/\w/) { |a| a=="Z" ? "A" : a.succ }
=> "BCDZA"

编辑:嗯,没关系,听Pesto,他听起来很聪明。