Text mit Bezug auf bestimmte Worte splitten/durchsuchen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ixi
User
Beiträge: 3
Registriert: Dienstag 21. Mai 2013, 17:25

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ß
BlackJack

@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.
ixi
User
Beiträge: 3
Registriert: Dienstag 21. Mai 2013, 17:25

BlackJack 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.
Danke Dir erst mal für die Antwort. Bin dabei ;)
ixi
User
Beiträge: 3
Registriert: Dienstag 21. Mai 2013, 17:25

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.
friedduck
User
Beiträge: 76
Registriert: Montag 23. Juli 2012, 20:41

Hier ein Beispiel mit re, allerdings stoppt das Programm bei dem ersten vorkommnis des gesuchten Wortes.
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!'
xeike
User
Beiträge: 83
Registriert: Donnerstag 28. Februar 2013, 09:58

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')
helfen?

Xe
Antworten