Hallo,
beschäftige mich noch nicht allzu lange mit Python.
Hätte nun eine Frage bezüglich split() und was ich dabei sonst noch brauchen könnte.
Ich lese einen String über eine txt-File ein und möchte diesen nach bestimmten Worten splitten bzw. durchsuchen, um nur einen bestimmten Teil des Textes zu erfassen.
In der txt-File befindet sich der Output meiner Netzwerkadapter. Zeile für Zeile mit entsprechenden Details, die eben bei der Suchen ausschlaggebend sind, um den entsprechenden Netzwerkadapter zu finden.(connected/disconnected, MTU/1500, etc) Dieser ist dann also der String nach dem ich suche. Beispielsweise suche in die IndexNr. des Adapters in wessen Zeile connected und 1500 enthält.
Danke im Voraus
Gruß
Text mit Bezug auf bestimmte Worte splitten/durchsuchen
@ixi: Das klingt danach, dass Du Dir mal reguläre Ausdrücke anschauen könntest. Also das `re`-Modul in der Standardbibliothek und vielleicht das HowTo dazu in der Python-Dokumentation.
Danke Dir erst mal für die Antwort. Bin dabeiBlackJack hat geschrieben:@ixi: Das klingt danach, dass Du Dir mal reguläre Ausdrücke anschauen könntest. Also das `re`-Modul in der Standardbibliothek und vielleicht das HowTo dazu in der Python-Dokumentation.
Ok, habs mittlerweile hinbekommen!
Mit split() den kompletten Text gesplittet und per Loop nach den ausschlaggebenden Strings gesucht, dann zwei Stellen im Array zurück, und ich habe das gewünschte Ergebnis.
Warscheinlich nicht DIE Lösung, aber auf jeden Fall EINE.
Mit split() den kompletten Text gesplittet und per Loop nach den ausschlaggebenden Strings gesucht, dann zwei Stellen im Array zurück, und ich habe das gewünschte Ergebnis.
Warscheinlich nicht DIE Lösung, aber auf jeden Fall EINE.
Hier ein Beispiel mit re, allerdings stoppt das Programm bei dem ersten vorkommnis des gesuchten Wortes.
Den Text bitte nicht zu ernst nehmen...
Den Text bitte nicht zu ernst nehmen...
Code: Alles auswählen
# -*- coding: utf-8 -*-
import re
text = '''Hallo ich bin ein Text und wer ein ein in mir findet bekommt ein Bonbon!\n
und wer nicht bekommt eins mit der Rute!'''
result = re.search('\\bein\\b', text, re.I | re.U | re.MULTILINE)
if result:
print dir(result)
print result.pos
print result.start()
print result.end()
print result.group(0)
else:
print 'Nix gefunden, her mit der Rute!'
friedduck hat geschrieben:Hier ein Beispiel mit re, allerdings stoppt das Programm bei dem ersten vorkommnis des gesuchten Wortes.
Würde dir:
Code: Alles auswählen
for line in text.split('\n'):
print('tu was mit line')
Xe