Уведомления

Группа в Telegram: @pythonsu

#1 Июль 2, 2013 15:13:23

RCuPeR
От:
Зарегистрирован: 2012-03-06
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Составить регулярку

Добрый день!
В питоне не работает следующая регулярка: “/\r\n|\r|\n/g”

В целом, мне нужно заменить все переносы в строке на какой-то символ.

file_db.replace(r"/\r\n|\r|\n/g", r"a")

Помогите, пожалуйста!



Офлайн

#2 Июль 2, 2013 15:38:59

RCuPeR
От:
Зарегистрирован: 2012-03-06
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Составить регулярку

out = re.sub("^\s+|\n|\r|\r\n|\s+$", "", file_db)
Так работает. Но дело в том, что мне нужно все пробелы заменить на физические символы “\n”.
Т.е., было:
“some

text”

Должно быть:
“some\ntext”

Как сделать так?



Офлайн

#3 Июль 2, 2013 16:15:47

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Составить регулярку

ну так и меняй на “\n”

Офлайн

#4 Июль 2, 2013 16:17:30

RCuPeR
От:
Зарегистрирован: 2012-03-06
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Составить регулярку

Он рисует пробелы, т.е.,
“some

text”

Так и остается.



Офлайн

#5 Июль 2, 2013 16:23:22

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Составить регулярку

тоесть тебе не нужен символ “перевода строки”, а нужны два символа “обратное подчеркивание” и “маленькое латинское эн”?

тогда меняй на

r'\n'
или на
'\\n'

Отредактировано bismigalis (Июль 2, 2013 16:27:17)

Офлайн

#6 Июль 2, 2013 17:06:06

RCuPeR
От:
Зарегистрирован: 2012-03-06
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Составить регулярку

Спасибо!

Следующее выражение отработало замечательно!

out = re.sub("^\s+|\n|\r|\r\n+$", r"\\n", file_db)



Офлайн

#7 Июль 2, 2013 21:01:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Составить регулярку

>>> import re
>>> 
>>> s = """some
... 
... text"""
>>> 
>>> out = re.sub(r'\s+', r'\n', s)
>>> out
'some\ntext'
>>>

>>> import re
>>> 
>>> s = "some  \r  some  \r\n  some  \n  text"
>>> 
>>> out = re.sub(r'\s+', r'\n', s)
>>> out
'some\nsome\nsome\ntext'
>>>



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version