Seite 1 von 1

Text mit Bezug auf bestimmte Worte splitten/durchsuchen

Verfasst: Dienstag 21. Mai 2013, 17:38
von ixi
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ß

Re: Text mit Bezug auf bestimmte Worte splitten/durchsuchen

Verfasst: Dienstag 21. Mai 2013, 18:10
von 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.

Re: Text mit Bezug auf bestimmte Worte splitten/durchsuchen

Verfasst: Dienstag 21. Mai 2013, 18:50
von ixi
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 ;)

Re: Text mit Bezug auf bestimmte Worte splitten/durchsuchen

Verfasst: Mittwoch 22. Mai 2013, 17:45
von ixi
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.

Re: Text mit Bezug auf bestimmte Worte splitten/durchsuchen

Verfasst: Donnerstag 23. Mai 2013, 19:43
von friedduck
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!'

Re: Text mit Bezug auf bestimmte Worte splitten/durchsuchen

Verfasst: Donnerstag 23. Mai 2013, 19:59
von xeike
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