Форум сайта python.su
Помогите примером - как можно вытащить из строки несколько токенов? к примеру из строки ‘,“мама”,fwfwfwfwfwfwfwfw,1,“рама”,’
нужно получить мама и рама
Офлайн
>>> import re
>>> s = u',"мама",fwfwfwfwfwfwfwfw,1,"рама",'
>>> print u','.join( re.findall(r'(".+?")',s) )
"мама","рама"
Офлайн
>>> print u','.join( re.findall(r'"(.+?)"',s) )
мама,рама
>>> print ', '.join( re.match(r',"(.+?)",.+?,"(.+?)".+$', s).groups() )
мама, рама
Офлайн
o7412369815963
спасибо! как раз начал рыть в сторону groups только пока не могу понять как сделать так чтобы в 1 группе было “мама” а в другой “рама”
Офлайн
AKAdem1cТак может?
не могу понять как сделать так чтобы в 1 группе было “мама” а в другой “рама”
re.match(r',"(?P<mama>.+?)",.+?,"(?P<rama>.+?)".+$', s).groupdict()
Офлайн
Ed
работает только если 1 совпадение “мама” или “рама” а если их 100 как сделать для каждой группы список?
Офлайн
Не совсем понятно. Можно пример строки и чего хочется получить?
Офлайн
А не проще так:
>>>print( s.split('"')[1::2] )
['мама', 'рама']
Отредактировано (Дек. 6, 2010 03:42:44)
Офлайн
Задача получить данные с ВКонтакте, а именно инфу по друзьям получаю строку такого вида
{'id':xxxxxxxx,'mid':xxxxxxxx,'hash':'xxxxxxxxxx_xxxxxxxxxxxaxxxxxx','summary':“У Вас XX друга”,'friends':[,,
ГДЕ:
У Вас XX друга (XX) кол-во друзей в строке 1 раз встречается
“Василий Пупкин” - Имя встречается много раз нужно получить список
“vasya” - домен встречается много раз, может не быть, тогда просто “”
“Василий” - это не нужно
и так требуется получить 3 группы результатов - 1 число и списки имен и доменов
В 3 выражения понятное дело нет проблем, но очень хочу понять как сделать это в одно ибо это офигенно
Офлайн
C этого и надо было начинать топик.
import json
data = json.loads(string_from_vkontakte)
Отредактировано (Дек. 6, 2010 18:02:39)
Офлайн