2015-02-06 169 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]/) {'*'}