Ruby中如何从字符串中删除最后N个字符?

296

如何最好地从字符串中移除最后的n个字符?


如果您知道后缀(顶部答案建议很多人来这里寻找此内容),则可以使用 Ruby 2.5 中的 delete_suffix更多信息请参见此处 - SRack
13个回答

1
如果您愿意创建类方法并希望保留您剪掉的字符,请尝试以下方法:
class String
  def chop_multiple(amount)
    amount.times.inject([self, '']){ |(s, r)| [s.chop, r.prepend(s[-1])] }
  end
end

hello, world = "hello world".chop_multiple 5
hello #=> 'hello '
world #=> 'world'

0

使用正则表达式:

str = 'string'
n = 2  #to remove last n characters

str[/\A.{#{str.size-n}}/] #=> "stri"

-4
x = "my_test"
last_char = x.split('').last

3
问题是如何从一个字符串中移除最后的N个字符,而不是找到最后一个字符。 - unnitallman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接