url = 'https://www.shanbay.com/read/article/97936/'
temp = filter(str.isdigit,url) #slect numbers
Statt mit for...in expression
, kann ich temp
-str
konvertieren direkt auf str?wie Instanz der Klasse „Filter“ konvertieren direkt
url = 'https://www.shanbay.com/read/article/97936/'
temp = filter(str.isdigit,url) #slect numbers
Statt mit for...in expression
, kann ich temp
-str
konvertieren direkt auf str?wie Instanz der Klasse „Filter“ konvertieren direkt
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.
Wie wäre es mit re.findall()
?
import re
url = 'https://www.shanbay.com/read/article/97936/'
temp = re.findall('[0-9]+', url)
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))