Метод str.capitalize() в Python, первая буква в строке заглавная
Переводит первый символ/букву строки в верхний регистр
Синтаксис:
str.capitalize()
Параметры:
Возвращаемое значение:
- измененная копия строки
Описание:
Метод str.capitalize() вернет копию строки str с первым символом в верхнем регистре, а остальные символы будут в нижнем регистре.
Изменено в Python-3.8: Первый символ теперь помещается в заглавный, а не в верхний регистр. Это означает, что такие символы, как диграфы, будут иметь только первую букву с заглавной буквы, а не полный символ.
Перевод первой буквы в строке в верхний регистр.
>>> x = 'первый символ теперь пОмещается в Заглавный, а не в верХний регистр' >>> x.capitalize() # 'Первый символ теперь помещается в заглавный, а не в верхний регистр' >>> >>> x = 'ПОМЕЩАЕТСЯ В ЗАГЛАВНЫЙ, А НЕ В ВЕРХНИЙ РЕГИСТР' >>> x.capitalize() # 'Помещается в заглавный, а не в верхний регистр' >>>
Еще вариант, который не изменяет регистр оставшихся букв в строке. Для этого будем использовать срез.
>>> line = 'вариант, который НЕ изменяет регистр оставшихся букв' # первую букву в верхний регистр >>> line[:1].upper() + line[1:] 'Вариант, который НЕ изменяет регистр оставшихся букв'
Перевод первой буквы в строке в нижний регистр.
>>> line = 'вариант, который не изменяет регистр оставшихся букв' >>> line = line.upper() >>> line # 'ВАРИАНТ, КОТОРЫЙ НЕ ИЗМЕНЯЕТ РЕГИСТР ОСТАВШИХСЯ БУКВ' >>> line_title[:1].lower() + line_title[1:] # 'вАРИАНТ, КОТОРЫЙ НЕ ИЗМЕНЯЕТ РЕГИСТР ОСТАВШИХСЯ БУКВ'
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Метод str.capitalize(), первая буква в строке заглавная
- Метод str.casefold(), сворачивает регистр строки
- Метод str.center(), выравнивает строку по центру
- Метод str.count(), считает совпадения в строке
- Метод str.encode(), преобразует строку в байты
- Метод str.endswith(), совпадение с концом строки
- Метод str.expandtabs(), меняет табуляцию на пробел
- Метод str.find(), индекс первого совпадения в строке
- Метод str.format(), форматирует строку
- Метод str.format_map()
- Метод str.index(), индекс первого совпадения подстроки
- Метод str.isalnum(), строка состоит из цифр и букв
- Метод str.isalpha(), строка состоит только из букв
- Метод str.isascii(), все символы в строке являются ASCII
- Метод str.isdecimal(), проверяет строку на десятичное число
- Метод str.isdigit(), строка состоит только из цифр
- Метод str.isidentifier() проверяет строку на идентификатор Python
- Метод str.islower( ), проверяет строку на нижний регистр
- Метод str.isnumeric(), проверяет строку на числовые символы
- Метод str.isprintable(), проверяет на доступность для печати
- Метод str.isspace(), является ли строка пробелом
- Метод str.istitle(), проверяет наличие заглавных букв в словах
- Метод str.isupper(), проверяет строку на верхний регистр
- Метод str.join(), объединяет список строк
- Метод str.ljust(), ровняет строку по левому краю
- Метод str.lower(), строку в нижний регистр
- Метод str.lstrip(), обрезает символы в начале строки
- Метод str.maketrans(), таблица символов для str.translate()
- Метод str.partition(), делит строку по первому совпадению
- Метод str.removeprefix(), удаляет префикс строки
- Метод str.removesuffix(), удаляет суффикс строки
- Метод str.replace(), меняет подстроку/символ в строке
- Метод str.rfind(), индекс последнего совпадения подстроки
- Метод str.rindex(), индекс последнего совпадения в строке
- Метод str.rjust(), ровняет строку по правому краю
- Метод str.rpartition(), делит строку по последнему совпадению
- Метод str.rsplit(), делит строку справа
- Метод str.rstrip(), обрезает символы на конце строки
- Метод str.split(), делит строку по подстроке
- Метод str.splitlines(), делит текст по символу ‘\n’
- Метод str.startswith(), совпадение с началом строки
- Метод str.strip(), обрежет строку с обоих концов
- Метод str.swapcase(), сменит регистр символов в строке
- Метод str.title(), каждое слово с заглавной буквы
- Метод str.translate(), транслирование строки
- Метод str.upper(), переведет строку в верхний регистр
- Метод str.zfill(), дополнит строку нулями
- Форматирование строк в стиле printf
- F-string. Форматированные строки
Метод str.title() в Python, каждое слово с заглавной буквы
Переводит первую букву каждого слова в строке в верхний регистр
Синтаксис:
str.title()
Параметры:
Возвращаемое значение:
- измененная копия строки.
Описание:
Метод str.title() возвращает копию строки str , в которой у каждого слова в строке, первый символ имеет верхний регистр, а остальные символы слова переводятся в нижний регистр. Другими словами, метод вернет копию строки, в которой все слова начинаются с заглавной буквы.
Алгоритм использует простое независимое от языка определение слова как группы последовательных букв. Определение работает во многих контекстах, но оно означает, что апострофы в сокращениях и притяжениях образуют границы слов, что может не соответствовать желаемому результату
- Для преобразования строки в верхний регистр используйте метод строки str.upper() .
- Для преобразования строки в нижний регистр используйте метод строки str.lower() .
Примеры преобразования в верхний регистр первых букв слов в строке.
>>> x = 'первое слово в строке начинается с заглавной буквы' >>> x.title() # 'Первое Слово В Строке Начинается С Заглавной Буквы' x = 'пЕРВОЕ сЛОВО в строке начинается с загЛаВной букВы' >>> x.title() # 'Первое Слово В Строке Начинается С Заглавной Буквы'
Поведение метода с апострофами в сокращениях:
>>> x = "they're bill's friends from the UK" >>> x.title() # "They'Re Bill'S Friends From The Uk"
Обходной путь для апострофов может быть создан с использованием регулярных выражений:
>>> import re >>> def titlecase(s): . return re.sub(r"[A-Za-z]+('[A-Za-z]+)?", . lambda mo: mo.group(0).capitalize(), . s) . >>> titlecase("they're bill's friends.") # "They're Bill's Friends."
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Метод str.capitalize(), первая буква в строке заглавная
- Метод str.casefold(), сворачивает регистр строки
- Метод str.center(), выравнивает строку по центру
- Метод str.count(), считает совпадения в строке
- Метод str.encode(), преобразует строку в байты
- Метод str.endswith(), совпадение с концом строки
- Метод str.expandtabs(), меняет табуляцию на пробел
- Метод str.find(), индекс первого совпадения в строке
- Метод str.format(), форматирует строку
- Метод str.format_map()
- Метод str.index(), индекс первого совпадения подстроки
- Метод str.isalnum(), строка состоит из цифр и букв
- Метод str.isalpha(), строка состоит только из букв
- Метод str.isascii(), все символы в строке являются ASCII
- Метод str.isdecimal(), проверяет строку на десятичное число
- Метод str.isdigit(), строка состоит только из цифр
- Метод str.isidentifier() проверяет строку на идентификатор Python
- Метод str.islower( ), проверяет строку на нижний регистр
- Метод str.isnumeric(), проверяет строку на числовые символы
- Метод str.isprintable(), проверяет на доступность для печати
- Метод str.isspace(), является ли строка пробелом
- Метод str.istitle(), проверяет наличие заглавных букв в словах
- Метод str.isupper(), проверяет строку на верхний регистр
- Метод str.join(), объединяет список строк
- Метод str.ljust(), ровняет строку по левому краю
- Метод str.lower(), строку в нижний регистр
- Метод str.lstrip(), обрезает символы в начале строки
- Метод str.maketrans(), таблица символов для str.translate()
- Метод str.partition(), делит строку по первому совпадению
- Метод str.removeprefix(), удаляет префикс строки
- Метод str.removesuffix(), удаляет суффикс строки
- Метод str.replace(), меняет подстроку/символ в строке
- Метод str.rfind(), индекс последнего совпадения подстроки
- Метод str.rindex(), индекс последнего совпадения в строке
- Метод str.rjust(), ровняет строку по правому краю
- Метод str.rpartition(), делит строку по последнему совпадению
- Метод str.rsplit(), делит строку справа
- Метод str.rstrip(), обрезает символы на конце строки
- Метод str.split(), делит строку по подстроке
- Метод str.splitlines(), делит текст по символу ‘\n’
- Метод str.startswith(), совпадение с началом строки
- Метод str.strip(), обрежет строку с обоих концов
- Метод str.swapcase(), сменит регистр символов в строке
- Метод str.title(), каждое слово с заглавной буквы
- Метод str.translate(), транслирование строки
- Метод str.upper(), переведет строку в верхний регистр
- Метод str.zfill(), дополнит строку нулями
- Форматирование строк в стиле printf
- F-string. Форматированные строки
Сделать первую букву каждого слова большой (заглавной)
@Grundy если напишете там универсальный ответ, который позволит делать верхний регистр не только после точки, но и после пробела, после переноса строки, табуляции, других пробельных символов, многоточия и любых других символов на усмотрение пользователя — я соглашусь с дубликатом.
31 авг 2017 в 11:31
@andreymal, если цель добавить «каноничные» ответы на типовые вопросы по python, то думаю имеет смысл использовать метку python-faq.
31 авг 2017 в 12:00
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Используйте метод title :
s = 'qwertyu iopasd fghjklz xcvbnm' print(s.title())
Qwertyu Iopasd Fghjklz Xcvbnm
Отслеживать
ответ дан 31 авг 2017 в 11:12
13k 10 10 золотых знаков 41 41 серебряный знак 78 78 бронзовых знаков
Почему ответ минуснули?
31 авг 2017 в 11:41
@Alban наверное, потому что элементарные само воросы/ответы — это не лучший способ наполнения базы знаний ruSO.
31 авг 2017 в 12:47
@alexolut чем это принципиально отличается от этого? Автор вопроса/ответа с каких-то пор стал иметь решающее значение?
31 авг 2017 в 12:49
Я не минусовал, если хотите знать, но и не поощряю подобных ситуаций. Если вопрос задал новичок, то вполне неплохо дать ему ответ, который его устроит, а не слать его в гугл. Но если Вы даёте самоответ — хорошо бы при этом иметь не чрезмерно тривиальную ситуацию, которая решается одной единственной функцией. А показать, что была произведена какая-то более сложная работа. И тогда она с большей вероятность будет вознаграждена голосами.
31 авг 2017 в 13:12
@alexolut: голоса на ответе должны отражать только насколько хорошо ответ решает поставленную в вопросе задачу в целом и относительно других ответов в частности. Не имеет значения, кто автор вопроса/ответа. Не имеет значения насколько простая тема по вашему. Если вы считаете, что подобный вопрос неуместен на Stack Overflow голосуйте за закрытие вопроса, минусы на ответы неправильно в таком случае ставить. (я не вижу кстати минуса на ответе). Кстати, не-ascii случай может быть нетривиальным (в зависимости от версии Unicode, используемой вашей версией Питона)
Каждое слово — с большой буквы
Ваша задача — воспроизвести функционал метода title() , создав функцию emphasise() . Метод title() делает заглавной первую букву каждого слова, все остальные буквы переводятся в нижний регистр.
Примечания
- С цифрами и прочими символами ничего делать не надо, работаем только с буквами.
- Пожалуйста, не используйте сам метод title() !
Примеры
emphasise("hello world") ➞ "Hello World" emphasise("GOOD MORNING") ➞ "Good Morning" emphasise("99 red balloons!") ➞ "99 Red Balloons!"
Варианты решений
def emphasise(txt): return ' '.join(w[0].upper()+w[1:].lower() for w in txt.split())
def emphasise(txt): return ' '.join(w.capitalize() for w in txt.split())
import re def emphasise(txt): return re.sub(r'\b(\w)', lambda x: x.group(1).upper(), txt.lower())