Найти - Пользователи
Полная версия: использование регулярных выражений
Начало » Python для новичков » использование регулярных выражений
1
graay
Есть строка вида:
"//name1Redname2#1  //name3Redname4#2 //name5Redname6#3"

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

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

Как это можно сделать? Здесь нужно использовать re.compile(pattern) ?
FishHook
Не обязательно
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']]
#Ну и так далее, насколько фантазии хватит
graay
спасибо большое. А если строка так выглядит:
//name1Redname2#1 unuseddata1  //name3Redname4#2 unuseddata2  //name5Redname6#3" unuseddata3
И чтобы Red менялся на Wait

Romiss
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']]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB