Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 4, 2010 09:19:43

archon
От:
Зарегистрирован: 2009-11-06
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать все буквы строчными, исключая аббревиатуры?

Вопрос в следующем, есть ли метод, аналогичный lower(), который бы переводил все символы строки в нижний регистр, но при этом оставлял аббревиатуры в верхнем. При этом за аббревиатуру можно считать несколько прописным подряд.
Если нет встроенного метода, то мож есть какая либа, где это реализовано?



Офлайн

#2 Ноя. 4, 2010 10:40:03

RaZveDchiK
От:
Зарегистрирован: 2010-11-04
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать все буквы строчными, исключая аббревиатуры?

Простая функция:

def abbr(stat):
s = ''
for item in stat.split(' '):
if not item.isupper():
s += " "+item.lower()
else:
s += " "+item
return s



Отредактировано (Ноя. 4, 2010 12:44:33)

Офлайн

#3 Ноя. 4, 2010 10:50:29

archon
От:
Зарегистрирован: 2009-11-06
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать все буквы строчными, исключая аббревиатуры?

RaZveDchiK
Простая функция
«После ВУЗа я пошел домой» — готов поспорить, тут функция зафейлит.
Кроме того, есть аббревиатуры со строчными в середине, например «СНиП» (строительные нормы и правила), правда этот пример не подходит даже под мое определение аббревиатуры из первого поста:)



Офлайн

#4 Ноя. 4, 2010 11:05:57

RaZveDchiK
От:
Зарегистрирован: 2010-11-04
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать все буквы строчными, исключая аббревиатуры?

Вы не указали, что аббревиатуры могут включать строчные.



Офлайн

#5 Ноя. 4, 2010 11:15:21

archon
От:
Зарегистрирован: 2009-11-06
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать все буквы строчными, исключая аббревиатуры?

RaZveDchiK
Вы не указали, что аббревиатуры могут включать строчные.
Я указал, что просто 2 или более прописных подряд.
После ВУЗа — 3 прописных подряд => аббревиатура
Или СВЧ-печь — то же самое
Ну а СНиП — фиг с ним. Когда 1 прописная, то без лексического анализа никак не понять кусок аббревиатуры это, или просто опечатка, или ЧтО тО ВрОдЕ ЭтОгО.



Офлайн

#6 Ноя. 4, 2010 11:31:41

RaZveDchiK
От:
Зарегистрирован: 2010-11-04
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать все буквы строчными, исключая аббревиатуры?

def abbr1(stat):
s = ""
for item in stat.split(' '):
c = 0
for letter in item:
if letter.isupper():
c += 1
if c >= 2:
s += item + " "
else:
s += item.lower() + " "
return s



Отредактировано (Ноя. 4, 2010 12:43:39)

Офлайн

#7 Ноя. 4, 2010 12:37:47

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Как сделать все буквы строчными, исключая аббревиатуры?

никогда не называйте переменные str, list итд, моветон :)



Офлайн

#8 Ноя. 4, 2010 12:45:33

RaZveDchiK
От:
Зарегистрирован: 2010-11-04
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать все буквы строчными, исключая аббревиатуры?

учтено :) спс



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version