如何拼接句子各单词首字母,Ruby是否有对应可用的内置函数
Ruby 提取单词首字母拼接实现
Ruby 没有专门用于该需求的独立内置函数,但可以通过多个基础内置方法组合快速实现,无需引入第三方依赖。
根据你给出的测试用例规则:多单词场景下仅拼接除最后一个单词外所有单词的首字母,单单词场景直接取该单词首字母,实现代码如下:
def get_initials(sentence) words = sentence.split return words.first[0] if words.size == 1 words[0...-1].map { |word| word[0] }.join end
split方法默认按任意空白字符分割字符串,自动忽略首尾空白和单词间的连续空白,不需要额外处理输入格式问题。
测试验证
运行以下代码可完全匹配你给出的预期输出:
p get_initials("foo bar") # => "fb" p get_initials("foo bar caz") # => "fb" p get_initials("foo") # => "f" p get_initials("foo d bar") # => "fd"
如果你需要的是常规的所有单词首字母拼接的通用功能,可以简化为一行实现:
def get_all_initials(sentence) sentence.split.map(&:chr).join end
内容的提问来源于stack exchange,提问作者Rpj
相关产品推荐
相关产品推荐

