Руби, удалить последние N символов из строки? - PullRequest
235 голосов
/ 18 ноября 2010

Каков предпочтительный способ удаления последних n символов из строки?

Ответы [ 13 ]

1 голос
/ 21 августа 2016

Если вы в порядке с созданием методов класса и хотите отобрать символы, попробуйте это:

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 голосов
/ 18 июня 2017

Использование регулярного выражения:

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

str[/\A.{#{str.size-n}}/] #=> "stri"
0 голосов
/ 09 июня 2012
x = "my_test"
last_char = x.split('').last
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...