Как изменить строку в верхний регистр


737

У меня проблема с изменением строки в верхний регистр с Python. В моем исследовании я получил, string.ascii_uppercaseно это не работает.

Следующий код:

 >>s = 'sdsd'
 >>s.ascii_uppercase

Дает это сообщение об ошибке:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'str' object has no attribute 'ascii_uppercase'

Мой вопрос: как я могу преобразовать строку в верхний регистр в Python?


1
Легкое руководство по этому вопросу
Тритон Мэн,

Ответы:


1238
>>> s = 'sdsd'
>>> s.upper()
'SDSD'

Смотрите строковые методы .


148
Также стоит упомянуть title(), 'abc def'.title()даст вамAbc Def
Бурхан Халид

1
Это работает и для типа char. Спасибо за ваш полезный ответ.
Ив Бомес

1
@yvesBaumes что вы подразумеваете под "типом символа"? Python не имеет символов. Только строки длиной 1
_Static_assert

Обратите внимание:.upper() и .lower()функция не меняет исходный strт.е. использовать s = s.upper()для достижения эффективных результатов
Чайтанью

95

Чтобы получить версию строки в верхнем регистре, вы можете использовать str.upper:

s = 'sdsd'
s.upper()
#=> 'SDSD'

С другой стороны string.ascii_uppercaseэто строка, содержащая все буквы ASCII в верхнем регистре:

import string
string.ascii_uppercase
#=> 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

16

чтобы сделать строку в верхнем регистре - просто введите

s.upper()

просто и легко! Вы можете сделать то же самое, чтобы сделать его ниже

s.lower()

и т.п.


16
s = 'sdsd'
print (s.upper())
upper = raw_input('type in something lowercase.')
lower = raw_input('type in the same thing caps lock.')
print upper.upper()
print lower.lower()

9
Добро пожаловать в Stack Overflow @HCode! Обычно добавляется комментарий к вашему коду.
aliteralmind

5

для создания заглавных букв от строчных до верхних просто используйте

"string".upper()

где "string"ваша строка, которую вы хотите преобразовать в верхний регистр

для этого вопроса это будет выглядеть так:

s.upper()

для создания строчных букв из строчных букв просто используйте

"string".lower()

где "string"ваша строка, которую вы хотите преобразовать в нижнем регистре

для этого вопроса это будет выглядеть так:

s.lower()

Если вы хотите использовать всю строковую переменную

s="sadf"
# sadf

s=s.upper()
# SADF

3

Для вопросов о простых манипуляциях со строками dirудобная встроенная функция. Он дает вам, среди прочего, список методов аргумента, например, dir(s)возвращает список, содержащий upper.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.