Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 15, 2008 07:01:12

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

Psixo
О, спасибо я как раз до них дошел читая http://www.intuit.ru/department/pl/python



Python 2.7.3
Pyside 1.1.2

Офлайн

#2 Ноя. 15, 2008 07:11:52

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Удалить символ в строке

То есть не зря я ссылку привел :) почти все ответы на подобные вопросы есть всего в одном учебнике..



Офлайн

#3 Ноя. 15, 2008 09:42:26

redbaron
От:
Зарегистрирован: 2006-11-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

Cover Story
bw
Предложение ваше заманчивое, но хотелось бы самому разобраться во всей этой кухне.
Ваш код заменяет один пробел, на “;”, а я хотел бы узнать как некоторое количество идущих подряд пробелов (причем количество в разных строках и столбцах разное) заменить на один символ “;”
Сам недавно столкнулся с такой задачей. Как ни странно самый быстрый способ (причем заметно быстрее чем regexp) это делать split и join:
fh = open("/path/to/log")
newcontent = '\n'.join(map(lambda line: ';'.join(line.split()),fh))
fh.close()
Данный код в каждой строке заменит все пробелы на ‘;’, а затем соберет обратно весь файл с замененными строками в newcontent. Проводил много экспериментов (жалье результаты не сохранились) - такой метод самый быстрый, объясняю это:
- нет regexp
- почти всё время сидит в C коде, т.к. кода на питоне практически нет (циклов, условий и пр.)



Офлайн

#4 Ноя. 15, 2008 10:34:39

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Удалить символ в строке

эээ.. зачем так сложно? Можно же просто сделать .replace(' ‘,’;')
я так понимаю нужно из “blabla bla bla bla” (количество пробелов разное),
сделать “blabla;bla;bla;bla”?
Угадал?
Если да, то решение простое

>>> a='blabla    bla bla    bla'
>>> print ';'.join(a.split())
blabla;bla;bla;bla



Отредактировано (Ноя. 15, 2008 10:55:14)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version