2016-05-06 5 views
0

У меня есть данныеНайти подстроки в строке с помощью питона

vk.com/idefiks 
vk.com/id211452033 
vk.com/id211452033 
vk.com/id165402000 
vk.com/id_lizalizaelizaveta 

Мне нужно, чтобы получить все URL, где цифры после id. Если я использую

if '/id' in url: 

возвращает все строки. Как я могу вернуть только id с номером?

+2

Возможный дубликат [Есть ли способ подстроки строки в Python?] (Http://stackoverflow.com/questions/663171/is-there-a-way-to-substring-a-string -в-Python) –

ответ

3

вы можете использовать re модуль. например:

import re 
s = """ 
vk.com/idefiks 
vk.com/id211452033 
vk.com/id211452033 
vk.com/id165402000 
vk.com/id_lizalizaelizaveta 
""" 
p = re.compile('/id\d+') 
print p.findall(s) 

Выход будет:

['/id211452033', '/id211452033', '/id165402000'] 

PS: если хотите удалить / в результате просто обновить регулярное выражение /(id\d+). это потому, findall просто возвращает захваченные группы

-3
for item in data: 
    listItem = item.split('/') 
    strId = listItem[1] 

попробовать это

0

Простейшее решение:

x = "vk.com/idefiks" 
x[6:] 

Это даст: /idefiks

Если вы хотите опустить / использовать x[7:].

Вы можете сделать это, используя re, но это не обязательно для этого случая.

0
if '/id' in url: 
    result = url.split('/id')[-1] 
Смежные вопросы