Как я могу сделать только последние 4 символа в строке верхнего регистра в Ruby?В верхнем регистре только последние 4 символа в строке
-2
A
ответ
1
str = "let's upcase last 4 letters"
length = str.length
str = str[0..(length-5)] + str[(length-4)..length].upcase
# let's upcase last 4 letTERS
2
s = 'string'
"#{s[0..-5]}#{s[-4..-1].upcase}" # => stRING
Чтобы предотвратить ошибку со строками короче 4 символов, которые вы можете сделать это:
s = 'foo'
s.length > 4 ? "#{s[0..-5]}#{s[-4..-1].upcase}" : s.upcase # => FOO
ЗАКАНЧИВАТЬ Ruby API для объяснения.
0
Update
s = "string"
s.size > 3 ? s[0..-5]+s[-4..-1].upcase : s.upcase # "stRING"
Вы не должны получить длину строки первой. Вы можете просто выполнить 'str [0 ..- 5] + str [-4,4] .upcase'. Вы все равно можете проверить, что исходная строка имеет длину не менее 4 символов. – Mischa
Спасибо, я все еще изучаю рубин. –
Добро пожаловать. – Mischa