Заглавная буква предложения
Существует ли метод (возможно, в какой-то библиотеке Rails) или простой способ, который прописывает первую букву строки, не влияя на состояние верхнего/нижнего регистра остальной части строки? Я хочу использовать его для капитализации сообщений об ошибках. Я ожидаю чего-то вроде этого:
"hello iPad" #=> "Hello iPad"
4 ответа:
В Ruby есть метод capitalize, но он будет понижать остальную часть строки. Вы можете написать свой собственный иначе:
class String def capitalize_first (slice(0) || '').upcase + (slice(1..-1) || '') end def capitalize_first! replace(capitalize_first) end end
Edit: добавлен
capitalize_first!
вариант.
Благодаря другим ответам я понял некоторые моменты, которые мне нужно знать, а также то, что нет встроенного способа. Я заглянул в источник
camelize
в активной поддержке рельсов, как намекнул Виталий Землянский, который дал мне подсказку: то есть использовать регулярное выражение. Я решил использовать это:sub(/./){$&.upcase}