Метод 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. Форматированные строки
Как сделать заглавной первую букву каждого слова в строке (Python)?
В алгоритме используется простое независимое от языка определение слова как группы последовательных букв. Определение работает во многих контекстах, но это означает, что апострофы в схватках и владениях образуют границы слов, что не может быть желаемым результатом:
>>> "they're bill friends from the UK".title() "They'Re Bill Friends From The Uk"
Mark Rushakoff 11 окт. 2009, в 02:24
Поделиться
вы демонстрируете str.title() , а не string.title() . unicode.title() в Python 2 делает то же самое для строк Unicode.
u0b34a0f6ae 11 окт. 2009, в 10:23
Я избегаю притяжательных проблем с чем-то вроде » «.join(w.capitalize() for w in s.split())
mehtunguh 22 апр. 2013, в 19:12
это не безопасно для большинства строк, потому что каждое слово, даже собственническое, записывается в верхнем регистре.
user3717756 29 авг. 2014, в 10:14
Существует проблема с string.title (). Когда вы используете, например, «eg 3b» , желаемый результат будет «EG 3b» . Однако «eg 3b».title() возвращает «EG 3B» .
Sören 11 нояб. 2016, в 18:06
Имейте в виду, что это также будет причиной: In [2]: ‘tEst’.title() Out[2]: ‘Test’
Jonas Libbrecht 14 нояб. 2016, в 10:05
Hi @ Mark Rushakoff «» 1 w 2 r 3g «даст неправильный результат
user7440629 30 июнь 2017, в 13:32
Отличный ответ, и комментарии подчеркивают, что в python не все ведет себя так, как вам нужно, но всегда есть удобные способы сделать это. Наиболее удобный способ — часто импортировать специализированную библиотеку, такую как python-titlecase.
Aaron3468 22 март 2018, в 05:42
Показать ещё 5 комментариев
Метод .title() не может работать хорошо,
>>> "they're bill friends from the UK".title() "They'Re Bill'S Friends From The Uk"
import string string.capwords("they're bill friends from the UK") >>>"They're Bill Friends From The Uk"
Разделите аргумент на слова, используя str.split(), запишите каждое слово, используя str.capitalize(), и соедините заглавные слова, используя str.join(). Если необязательный второй аргумент sep отсутствует или None, пробелы пробельных символов заменяются одним пробелом, а удаленные пробелы ведущие и конечные удаляются, иначе sep используется для разделения и объединения слов.
Chen Houwu 09 сен. 2012, в 06:14
Поделиться
Capwords по-прежнему отсутствует и не обрабатывает что-то вроде «There once was a string with an ‘that had words right after it and then closed'» . В этом примере все миры за исключением , that капитализируются , как и ожидалось. В результате получилось: «There Once Was A String With An ‘that Had Words Right After It And Then Closed'»
devonbleibtrey 25 март 2016, в 21:53
Тем не менее, это работает лучше, чем title() для нормальных ситуаций. В моей ситуации title() возвращает capwords() вывод для имен с акцентом или дирезисом, в то время как capwords() обрабатывает это правильно.
houcros 20 сен. 2016, в 11:04
Работает лучше, чем title()
Shubham Namdeo 21 июнь 2017, в 01:24
Хорошо, но это все еще портит различие «Великобритания / Великобритания»
Jonath P 17 нояб. 2018, в 15:54
Показать ещё 2 комментария
Просто потому, что для меня это весело, вот еще два решения.
Разделите слова, запишите каждое слово из разделенных групп и присоединитесь. Это изменит белое пространство, разделяющее слова, на одно пустое пространство, независимо от того, что было.
s = 'the brown fox' lst = [word[0].upper() + word[1:] for word in s.split()] s = " ".join(lst)
EDIT: Я не помню, о чем я думал, когда писал этот код, но нет необходимости создавать явный список; мы можем использовать выражение генератора, чтобы сделать это ленивым способом. Итак, вот лучшее решение:
s = 'the brown fox' s = ' '.join(word[0].upper() + word[1:] for word in s.split())
Используйте регулярное выражение для соответствия началу строки или пробелу, разделяющему слова, плюс один символ без пробелов; используйте круглые скобки для обозначения «групп соответствия». Напишите функцию, которая принимает объект соответствия, и возвращает группу совпадений пробелов без изменений и группу совпадений символов без пробелов в верхнем регистре. Затем используйте re.sub() для замены шаблонов. У этого нет проблем с пунктуацией первого решения, и он не повторяет пробел, как мое первое решение. Это дает лучший результат.
import re s = 'the brown fox' def repl_func(m): """process regular expression match groups for word upper-casing problem""" return m.group(1) + m.group(2).upper() s = re.sub("(^|\s)(\S)", repl_func, s) >>> re.sub("(^|\s)(\S)", repl_func, s) "They're Bill Friends From The UK"
Я рад, что я исследовал этот ответ. Я понятия не имел, что re.sub() может выполнять функцию! Вы можете сделать нетривиальную обработку внутри re.sub() , чтобы получить окончательный результат!
Как сделать первую букву заглавной в Python?
В Python есть несколько способов сделать первую букву строки заглавной: 1. С использованием метода capitalize() :
string = "python" capitalized_string = string.capitalize() print(capitalized_string) # Выводит: Python
2. С использованием метода title() :
string = "python" capitalized_string = string.title() print(capitalized_string) # Выводит: Python
3. С использованием среза и метода upper() :
string = "python" capitalized_string = string[0].upper() + string[1:] print(capitalized_string) # Выводит: Python
Выберите тот способ, который наиболее подходит для вашей задачи. Удачи в программировании!
Детальный ответ
Как сделать первую букву заглавной в Python
В Python есть несколько способов сделать первую букву слова или строки заглавной. Давайте рассмотрим некоторые из них:
1. Использование метода capitalize()
Метод capitalize() позволяет сделать первую букву строки заглавной.
string = "hello, world!" capitalized_string = string.capitalize() print(capitalized_string)
Hello, world!
2. Использование метода title()
Метод title() преобразует каждое слово в строке так, чтобы первая буква была заглавной, а остальные буквы — строчными.
string = "hello, world!" title_string = string.title() print(title_string)
Hello, World!
3. Использование метода upper() среза строки
Мы можем использовать метод upper() в сочетании с срезом строки, чтобы сделать первую букву заглавной.
string = "hello, world!" modified_string = string[0].upper() + string[1:] print(modified_string)
Hello, world!
4. Использование функции capitalize() модуля string
Модуль string также предоставляет функцию capitalize() , которая работает аналогично методу capitalize() строки.
import string string = "hello, world!" capitalized_string = string.capitalize() print(capitalized_string)
Hello, world!
5. Использование функции upper() модуля string
Модуль string также предоставляет функцию upper() , которая работает аналогично методу upper() строки.
import string string = "hello, world!" modified_string = string[0].upper() + string[1:] print(modified_string)
Hello, world!
Заключение
Теперь у вас есть несколько способов сделать первую букву заглавной в Python. Вы можете выбрать тот, который наиболее удобен для вашего конкретного случая.
Как сделать первую букву заглавной в питоне | Подробное руководство
Чтобы сделать первую букву заглавной в Python, вам понадобится использовать метод `capitalize()`. Вот пример:
text = "привет, мир!" capitalized_text = text.capitalize() print(capitalized_text)
Этот код выведет «Привет, мир!». Метод `capitalize()` преобразует первый символ строки в верхний регистр, оставляя остальные символы без изменений.
Детальный ответ
Как сделать первую букву заглавной в питоне
Добро пожаловать в статью, посвященную преобразованию первой буквы строки в заглавную букву в Python. В этой статье вы узнаете несколько способов, которые помогут вам добиться этого результата. Вперед, давайте начнем!
1. Метод capitalize()
Один из самых простых способов сделать первую букву строки заглавной — использовать метод capitalize(). Этот метод возвращает копию строки, в которой первый символ становится заглавным, а остальные символы остаются неизменными. Рассмотрим следующий пример:
string = "пример строки" capitalized_string = string.capitalize() print(capitalized_string) # Вывод: Пример строки
Вышеуказанный код применяет метод capitalize() к строке «пример строки» и выводит результат «Пример строки». Обратите внимание, что остальные символы в строке остаются неизменными.
2. Использование среза и метода upper()
Еще один способ сделать первую букву строки заглавной — использовать срез и метод upper(). Срез позволяет вам получить первую букву строки, а метод upper() преобразует ее в заглавную.
string = "пример строки" capitalized_string = string[0].upper() + string[1:] print(capitalized_string) # Вывод: Пример строки
Вышеуказанный код использует срез string[0], чтобы получить первый символ строки, применяет к нему метод upper() для преобразования его в заглавный символ, а затем объединяет его с остальными символами строки.
3. Использование функции title()
Функция title() — еще один вариант для преобразования первой буквы строки в заглавную. Эта функция преобразует первый символ каждого слова в строке в заглавный, а остальные символы остаются неизменными. Рассмотрим следующий пример:
string = "пример строки" capitalized_string = string.title() print(capitalized_string) # Вывод: Пример Строки
В приведенном выше примере функция title() преобразует первую букву каждого слова в строке в заглавную букву. Результатом будет строка «Пример Строки».
Заключение
Теперь у вас есть несколько способов сделать первую букву строки в Python заглавной. Вы можете использовать метод capitalize(), срез и метод upper() или функцию title(). Используйте тот метод, который лучше всего соответствует вашим потребностям. Удачи в программировании!