gpt4 book ai didi

ruby-on-rails - 在 Ruby 中格式化全名的最简洁的方法是什么?

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

我想从 titlefirst_namemiddle_namelast_name 生成全名。例如比利·鲍伯·松顿先生。但是 titlemiddle_name 是可选的,我不想获得任何前导空格或双空格。我想出了很多方法来实现它们,但没有一种看起来非常优雅。这是我到目前为止的技术

full_name = "#{title} #{first_name} #{middle_name} #{last_name}"
#FAIL. Leading and double spaces result

full_name = "#{title} #{first_name} #{middle_name} #{last_name}".gsub(/^ /,'').gsub(/ /,' ')
#Works but all that regex tacked on the end is very ugly

full_name = "#{title}#{title.nil? || title.empty? ? '' : ' '}#{first_name} #{middle_name}#{middle_name.nil? || middle_name.empty? ? '' : ' '}#{last_name}"
#Works but goes on forever

我将使用 Rails,这样可以减少我的 .nil 吗? || .empty?.blank? 使最后一个更简洁一点,但我忍不住认为有更好的方法。

最佳答案

您正在使用 Rails,因此您可以访问 String#squish :

squish()

Returns the string, first removing all whitespace on both ends of the string, and then changing remaining consecutive whitespace groups into one space each.

所以你可以这样做:

name = "#{title} #{first_name} #{middle_name} #{last_name}".squish

关于ruby-on-rails - 在 Ruby 中格式化全名的最简洁的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927608/

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