2017-04-11 4 views

Antwort

0

filter s faul sind in Python 3, müssen Sie sie auf eine Funktion füttern, die sie verbrauchen, und sie zwingen, ihre Elemente zu erzeugen.

url = 'https://www.shanbay.com/read/article/97936/' 
temp = filter(str.isdigit,url) # filter object 

Wenn Sie dies einer anderen Funktion zuführen, die es verbraucht, können Sie die Elemente zurückbekommen. Wenn Sie eine Zeichenfolge benötigen, nur join es:

nums = "".join(temp) 

"".join werden alle Elemente aus der filter Instanz erhalten und kommen sie auf den leeren String "" Herstellung 97936; Verwenden Sie das in einem int Anruf, wenn Sie ein int Ergebnis benötigen.

0

Wie wäre es mit re.findall()?

import re 
url = 'https://www.shanbay.com/read/article/97936/' 
temp = re.findall('[0-9]+', url) 
1

filter gibt einen Iterator, so dass man seine Elemente verbinden müssten.

url = 'https://www.shanbay.com/read/article/97936/' 
temp = "".join(filter(str.isdigit,url)) 
Verwandte Themen