音译 Ruby 中的字符

Transliterating chars in Ruby

我有一些条件语句可以用来将一个字符串替换为另一个字符串。

例如:

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

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

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

我找不到任何有关如何执行此操作的信息。 Ruby 一定有简洁的写法。有人有什么建议吗?

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

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

您可以使用downcase方法:

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

我会用Regexp#===方法。

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