如果一个单词在数组中退出,如何大写?

时间:2015-08-10 14:32:06

标签: ruby-on-rails arrays ruby

如果字符串中存在一个单词(Ruby)

,我需要一些帮助
phrase = "Love and War fail"
array = ['a', 'and', 'the', 'but']

我最初的想法是创建一个循环遍历数组中每个项目的循环,但是如何创建一个条件(即:仅大写单词在数组中),以便它只使用数组中的单词?

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:2)

你可以这样做:

c_words = phrase.split & array 
c_words.each{ |w| phrase.sub!(/\b#{w}/, w.capitalize) } 
phrase
# => "Love And War fail"

或者正如Glupo在下面的评论中所建议的那样:

array.each{ |w| phrase.sub!(/\b#{w}/, w.capitalize) }