Форум сайта python.su
Вопрос в следующем, есть ли метод, аналогичный lower(), который бы переводил все символы строки в нижний регистр, но при этом оставлял аббревиатуры в верхнем. При этом за аббревиатуру можно считать несколько прописным подряд.
Если нет встроенного метода, то мож есть какая либа, где это реализовано?
Офлайн
Простая функция:
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)
Офлайн
RaZveDchiK«После ВУЗа я пошел домой» — готов поспорить, тут функция зафейлит.
Простая функция
Офлайн
Вы не указали, что аббревиатуры могут включать строчные.
Офлайн
RaZveDchiKЯ указал, что просто 2 или более прописных подряд.
Вы не указали, что аббревиатуры могут включать строчные.
Офлайн
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)
Офлайн
никогда не называйте переменные str, list итд, моветон :)
Офлайн
учтено :) спс
Офлайн