Hallo, hab zwar schon alte Beiträge durchstöbert aber noch keine passende Lösung für mein (ja es ist warscheinlich sehr banal) gefunden habe.
hab diesen string hier und will daraus:
<img src="/icons/text.gif" alt="[TXT]"> <a href="test.txt">test.5..></a> 14-Feb-2008 12:58 2.1K
zum Beispiel dass Datum oder die Uhrzeit rausschneiden.
die Funktion
re.sub auf den oberen string schneidet mir zwar dass richtige raus, aber dass ist ja nicht sinn und zweck..... also ich will quasi alles raushauen ohne das Datum/Uhrzeit/regex...gibts da ne passende methode, steh irgendwieviel voll aufm schlauch,
Danke schonmal, Gruß
Regular Expression
Naja, eben einfach einen regulären Ausdruck dafür schreiben und dann `re.search()` damit verwenden.
Mein Vorschlag:
Wenn's genauer treffen soll, nimm eine Liste aller Monatsnamen `(?:Jan|Feb|...)` statt `\w\w\w`.
Stefan
Code: Alles auswählen
re.findall(r'(\d\d-\w\w\w-\d\d\d\d \d\d:\d\d) \d+(?:.\d+)?K', text)
Stefan
Hi,
wenn die Struktur immer gleich ist und ich da nichts falsch verstanden habe,
dann müßte das doch auch (ohne re) so gehen: was in diesem Fall die Uhrzeit rausschneidet.
Gruß Oscar
wenn die Struktur immer gleich ist und ich da nichts falsch verstanden habe,
dann müßte das doch auch (ohne re) so gehen:
Code: Alles auswählen
a = '<img src="/icons/text.gif" alt="[TXT]"> <a href="test.txt">test.5..></a> 14-Feb-2008 12:58 2.1K'
>>> b = len(a) -10
>>> c = a[b:b+5]
>>> c
'12:58'
Gruß Oscar
Nur mal so geraten ist das '2.1 K' am Ende eine Grössenangabe einer Datei und damit wahrscheinlich in der Länge nicht fest.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Und wenn Die Dateigröße mehr als 4 Zeichen einnimmt?Oscar hat geschrieben:Hi,
wenn die Struktur immer gleich ist und ich da nichts falsch verstanden habe,
dann müßte das doch auch (ohne re) so gehen:was in diesem Fall die Uhrzeit rausschneidet.Code: Alles auswählen
a = '<img src="/icons/text.gif" alt="[TXT]"> <a href="test.txt">test.5..></a> 14-Feb-2008 12:58 2.1K' >>> b = len(a) -10 >>> c = a[b:b+5] >>> c '12:58'
Gruß Oscar
Hier lässt sich aber auch gut mit einfachen splits arbeiten, wenn die Struktur wirklich immer gleich bleibt.
Oder, ums kurz zu machen
Code: Alles auswählen
s = '<img src="/icons/text.gif" alt="[TXT]"> <a href="test.txt">test.5..></a> 14-Feb-2008 12:58 2.1K'
s = s.split("</a>")[1]
s = s.strip()
# s ist jetzt '14-Feb-2008 12:58 2.1K'.
datum, uhrzeit, rest = s.split(" ",3)

Code: Alles auswählen
datum, uhrzeit, rest = s.split("</a>")[1].strip().split(" ",3)