Python zahlen sortieren?
Hey hey,
ich habe eine Liste mit Text und Zahlen dazwischen. Ich möchte nun alle Zahlen die dem Format xx xxx entsprechen herausfiltern.
Hat jemand eine Idee, wie ich das machen kann?
Kannst du mal ein Beispiel für eine solche "Liste mit Text und Zahlen dazwischen" ergänzen?
So, oder wie?
["abc123de", "abcd12 345efg", "1ab2cd22456ef"]
Ist so ein Katalog den ich mit Tesseract in Text umgewandelt habe. Bsp.:
Artikel 50 126 in Größe XS bis XL
Und ich möchte jetzt nur die Nummer 50 126 herausfiltern
1 Antwort
Falls garantiert in jedem String deiner Liste eine solche Zahl vorkommt könntest du sie so extrahieren:
import re
input = ["Artikel 50 126 in Größe XS bis XL", "Artikel 54 112 in Größe XS bis XL"]
articles = [re.search(r".*(\d\d \d\d\d).*", article).group(1) for article in input]
print(articles) # Ausgabe hier: ['50 126', '54 112']
Falls das nicht garantiert ist könnte man noch folgenden Filter beim for einbauen:
articles = [re.search(r".*(\d\d \d\d\d).*", article).group(1) for article in input if re.match(".*\d\d \d\d\d.*", article)]
Das \d steht für "Digit", also eine einzelne Ziffer
.* bedeutet beliebig viele andere Zeichen
Ich hab Regex durch YouTube Videos gelernt
Diese Seite kann ich dir empfehlen, um Regex auszuprobieren: regex101.com/
Wenn du da mein .*(\d\d \d\d\d).* eingibst und mit der Maus über die einzelnen Teile gehst, siehst du, was jeder Teil macht
Mega probier ich aus sobald ich wieder am PC bin vielen Dank ^^
Das \d steht für einen Integer? Ich blicke irgendwie durch Regex nicht durch, hast du vielleicht ein gutes Tutorial scheint ja echt ein sehr starkes Tool zu sein habe schon auf Websiten gelesen aber so ganz verstehe ich den syntax nicht