Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2012 17:38:19

graay
Зарегистрирован: 2012-04-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

использование регулярных выражений

Есть строка вида:

"//name1Redname2#1  //name3Redname4#2 //name5Redname6#3"

Нужно получить 2 массива такого вида:

[//name1Whitename2, //name3Whitename4, //name5Whitename6]
[1,2,3]

Как это можно сделать? Здесь нужно использовать re.compile(pattern) ?

Отредактировано graay (Апрель 19, 2012 17:39:44)

Офлайн

#2 Апрель 19, 2012 17:52:34

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

использование регулярных выражений

Не обязательно

s="//name1Redname2#1 //name3Redname4#2 //name5Redname6#3"
l=s.split(" ")
>>>['//name1Redname2#1',  '//name3Redname4#2', '//name5Redname6#3']
[x.split('#') for x in l]
>>>[['//name1Redname2', '1'], ['//name3Redname4', '2'], ['//name5Redname6', '3']]
#Ну и так далее, насколько фантазии хватит



Отредактировано FishHook (Апрель 19, 2012 17:54:16)

Офлайн

#3 Апрель 19, 2012 18:00:09

graay
Зарегистрирован: 2012-04-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

использование регулярных выражений

спасибо большое. А если строка так выглядит:

//name1Redname2#1 unuseddata1  //name3Redname4#2 unuseddata2  //name5Redname6#3" unuseddata3
И чтобы Red менялся на Wait

Отредактировано graay (Апрель 19, 2012 18:01:39)

Офлайн

#4 Апрель 19, 2012 22:17:36

Romiss
От:
Зарегистрирован: 2011-11-01
Сообщения: 26
Репутация: +  4  -
Профиль   Отправить e-mail  

использование регулярных выражений

graay
А если строка так выглядит:
//name1Redname2#1 unuseddata1  //name3Redname4#2 unuseddata2  //name5Redname6#3" unuseddata3
И чтобы Red менялся на Wait

Может такой вариант устроит?
s="//name1Redname2#1 uneseddat1 //name3Redname4#2 uneseddat2 //name5Redname6#3 uneseddat2"
l=s.split(" ")[::2]
z = [x.replace ('Red', 'Wait')for x in l]
print [x.split('#') for x in z]
Вывод:
[['//name1Waitname2', '1'], ['//name3Waitname4', '2'], ['//name5Waitname6', '3']]



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version