Форум сайта python.su
Есть строка, нужно полностью убрать пустые символы (“ \n\t”) в начале и конце строки, а также заменить множественные пустоты внутри строки на один символ пробела.
Как это лучше сделать?
Пока есть следующий код, убирающий конечные пустоты:
while (len(idx) > 0) and (idx[-1] in ' \n'): idx = idx[:-1]
while (len(idx) > 0) and (idx[0] in ' \n'): idx = idx[1:]
Отредактировано (Июль 27, 2008 21:58:08)
Офлайн
strip()
http://www.python.org/doc/2.3/lib/module-string.html
Отредактировано (Июль 27, 2008 22:00:11)
Офлайн
Большое спасибо!
Я ведь эту страницу смотрел, но видимо, искал функцию trim и просто “проскочил” strip!
Теперь эти две строчки сократились до:
idx = idx.strip(“ \t\n”)
Осталось понять как удалить (заменить на “ ”) пустоты в центре строки…
Офлайн
Kravejs, ну это можно сделать как минимум регуляркой. Возможно будут предложены и способы с применением строковых функций.
Офлайн
Kravejs
Большое спасибо!
Я ведь эту страницу смотрел, но видимо, искал функцию trim и просто “проскочил” strip!
Теперь эти две строчки сократились до:
idx = idx.strip(“ \t\n”)
Осталось понять как удалить (заменить на “ ”) пустоты в центре строки…
idx = ' '.join(idx.split())
Отредактировано (Июль 27, 2008 22:47:02)
Офлайн
crchemistСпасибо за идею!Kravejs
Осталось понять как удалить (заменить на “ ”) пустоты в центре строки…idx = ' '.join(idx.split())
Отредактировано (Июль 27, 2008 22:51:17)
Офлайн
Оказывается, даже не нужен strip!
Весь код сжался до немыслемо крошечного размера!
А самое удивительное в этом, на сколько быстро был получен отклик.
Спасибо за толковый совет!
Офлайн
Читаю файл командой read, затем выдаю в выходной поток. Добавляются лишние переводы каретки.
ОС -windows+apach2+python2.3.
Подскажите, пожалуйста, радикальное, средство, без нужды парсить скриптом подобные куски текста.
Видимо, у топикстартера была та же проблема.
Офлайн
напрмер можно два перевода строк подменить на один
text = text.replace('\n\n','\n')
Офлайн
Вопрос про РАДИКАЛЬНОЕ средство.
Если Питон сам вставляет перевод каретки, то может есть средство “сказать” питону не делать этого?
Офлайн