n从字符串中删除最后一个字符的首选方法是什么?
n
从 Ruby 2.5 开始,您可以使用delete_suffix或delete_suffix!以一种快速且易读的方式实现此目的。
delete_suffix
delete_suffix!
有关方法的文档在这里。
如果您知道后缀是什么,这是惯用的(我认为,比这里的其他答案更具可读性):
'abc123'.delete_suffix('123') # => "abc" 'abc123'.delete_suffix!('123') # => "abc"
它甚至比最佳答案快得多(使用 bang 方法几乎快 40% )。 这是相同基准测试的结果:
user system total real chomp 0.949823 0.001025 0.950848 ( 0.951941) range 1.874237 0.001472 1.875709 ( 1.876820) delete_suffix 0.721699 0.000945 0.722644 ( 0.723410) delete_suffix! 0.650042 0.000714 0.650756 ( 0.651332)
我希望这很有用 - 请注意该方法目前不接受正则表达式,因此如果您不知道后缀,它暂时不可行。但是,正如接受的答案( 更新:在撰写本文时 )所指示的那样,我认为这可能对某些人有用。