Benutzer-Werkzeuge

Webseiten-Werkzeuge


pyparsing

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
pyparsing [2015/06/24 18:33]
root
pyparsing [2016/05/15 11:10] (aktuell)
root [Dokuwiki-Tabelle parsen]
Zeile 45: Zeile 45:
  
   * http://www.nmt.edu/tcc/help/pubs/pyparsing/pyparsing.pdf -> Gute Dokumentation   * http://www.nmt.edu/tcc/help/pubs/pyparsing/pyparsing.pdf -> Gute Dokumentation
 +
 +
 +
 +====== Umsetzungen ======
 +
 +===== Dokuwiki-Tabelle parsen =====
 +
 +
 +**Überschrift**:
 +
 +<code>
 +a="^Größe ^Hufbreite mm ^Huflänge mm ^Gewicht g ^Besonderheiten ^"
 +parser=pp.Word(pp.alphanums+" "+"#"+"-"+"ä"+"ü"+"ö")
 +list=pp.Suppress('^')+pp.delimitedList(parser,"^")
 +list.parseString(a)
 +</code>
 +
 +
 +**Inhalt**:
 +
 +<code>
 +a="|#00 |100 - 108 |104 - 116 |320 |  |"
 +parser=pp.Word(pp.alphanums+" "+"#"+"-")
 +list=pp.Suppress('|')+pp.delimitedList(parser,"|")
 +list.parseString(a)
 +</code>
 +
 +  * Variable a enthält die zu parsende Zeile
 +  * parser definiert welche Zeichen als ein Wort betrachtet werden - das müsste eventuell erweitert werden, da nicht alle Sonderzeichen und ggf. Unicode-Zeichen abgedeckt sind
 +  * list enthält den eigentlichen Parser - bestehend aus Supress welches den führenden "|" der Tabelle unterdrückt (da delimitedList einen Delimiter nicht als erstes Zeichen erwartet) und der Funktion DelimitedList welche anahnd eines delimiters/Trenners (in diesem Fall "|") eine Zeichenkette in einzelne Felder aufspaltet und die Felder zwischen den Trennern ("|") jeweils als ein Element einer Liste speichert
pyparsing.1435163586.txt.gz · Zuletzt geändert: 2015/06/24 18:33 von root