2015-02-06 172 views
1

我试图用替换字符串中的所有元音一个“*”在Ruby中的字符串替换多个字符,一个字符

这是我目前所面对的

string = "alphabet" 

string.gsub! "a", "*" 
string.gsub! "e", "*" 
string.gsub! "i", "*" 
string.gsub! "o", "*" 
string.gsub! "u", "*" 

我想串等于“* lph * b * t”。 最简单的方法是什么?

+0

请参阅位于http文档: //www.ruby-doc.org/core-2.2.0/String.html#method-i-gsub它提供了一个答案,你到底在问什么 – Fiddles 2015-02-06 04:05:19

+0

好吧,谢谢您! – josh 2015-02-06 04:17:16

回答

7

我能想到的最简单的就是:

string.tr!("aeiou", "*") 
4

其他标准方法是:

string = "alphabet" 
string.gsub!(/[aeiou]/,'*') 
    #=> "*lph*b*t" 
string 
    #=> "*lph*b*t" 

,你也可以写

string.gsub!(/[aeiou]/) {'*'}