在Ruby中音译chars

时间:2015-06-07 14:43:25

标签: ruby transliteration

我有一些条件用于将一个字符串替换为另一个字符串。

例如:

    if word == "for"
       word = "4"

但我真正想要的是一个像这样的条件:

    if word == "for" || word == "FOR" || word == "For" || word == "foR" || word == "FoR" #etc etc
       word = "4"

我找不到任何关于如何做到这一点。必须有一种简洁的方法来用Ruby编写它。有人有什么建议吗?

3 个答案:

答案 0 :(得分:5)

您可以使用casecmp进行不区分大小写的比较:

if word.casecmp("for") == 0
  word = "4"
end

答案 1 :(得分:3)

您可以使用downcase方法:

if word.downcase == 'for'
   word = '4'
end

答案 2 :(得分:0)

我将使用Regexp#===方法。

if /\Afor\z/i === word
  word = "4"
end