Ruby: Как мне получить часть строки? - PullRequest
11 голосов
/ 26 мая 2011

Мне нужен способ отображать только заданное количество символов из строкового / текстового значения.

Я хочу, чтобы это работало так, что если my_string.length > 40, то получить только первые 40 символов из my_string?

Ответы [ 5 ]

21 голосов
/ 26 мая 2011

просто подстроку вашей строки:

mystring[0...40]
4 голосов
/ 26 мая 2011

Вы можете сделать:

my_string[0..39]
1 голос
/ 26 мая 2011

Если вы уже используете гем activesupport (или если вы не против добавить его в качестве зависимости), вы также можете использовать String # truncate.Если ваша строка длиннее установленного лимита, вы увидите «Ваша строка ...»

1 голос
/ 26 мая 2011
my_string.slice!(40..-1)

Вы можете проверить описание для среза! здесь

1 голос
/ 26 мая 2011

Ruby позволяет нарезать строку:

my_string = my_string[0, 40] if (my_string.length > 40)

Как напомнил мне Энди Х., это можно замкнуть на:

my_string = my_string[0, 40]

Вот пример:

str = '1234567890' * 5 #=> "12345678901234567890123456789012345678901234567890"
str[0, 40] #=> "1234567890123456789012345678901234567890"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...