gpt4 book ai didi

ruby - 除了中间和开头的小单词外,如何将字符串中的所有单词大写?

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:11 24 4
gpt4 key购买 nike

我有一个长串,“背上的银骑手和棕榈树”。我想编写一个 Ruby 方法,将句子中间除“on”、“the”和“and”之外的所有单词大写,但是“the”在开头是否大写?

这是我目前所拥有的:

def title(word)
small_words = %w[on the and]
word.split(' ').map do |w|
unless small_words.include?(w)
w.capitalize
else
w
end
end.join(' ')
end

这段代码实际上完成了我需要的大部分工作,但不知道如何包含或排除句子开头的“the”。

最佳答案

这会将所有单词大写,除了不是句子第一个的停用词(您的小词)。

def title(sentence)
stop_words = %w{a an and the or for of nor} #there is no such thing as a definite list of stop words, so you may edit it according to your needs.
sentence.split.each_with_index.map{|word, index| stop_words.include?(word) && index > 0 ? word : word.capitalize }.join(" ")
end

关于ruby - 除了中间和开头的小单词外,如何将字符串中的所有单词大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17635030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com