Frage

Ich bin sehr neu in Ada, und ich versuche, ein paar einfache Arbeit mit Text zu tun. Alles, was ich in einer Datei lesen will, und Streifen aus alles, was nicht ein Brief, ein Leerzeichen oder neue Linie ist. so Entfernen aller Interpunktion und Zahlen. In anderen Sprachen würde ich schaffe nur eine einfache [^ a-zA-Z] regulären Ausdruck, schauen jedes Zeichen und löschen Sie es, wenn es die RegEx passen, aber ich kann keine Dokumentation auf RegEx der in Ada zu finden scheinen. So gibt es RegEx ist in Ada? Wenn nicht, was ist der beste Weg für mich, über einfache Textbearbeitung wie diesen zu gehen.

Dank viel, -jb

War es hilfreich?

Lösung

Wenn Sie die GNAT-Compiler verwenden, gibt es eine Reihe von Paketen genannt GNAT.RegExp, GNAT.RegPat und GNAT.Spitbol für diese Aufgabe gemacht.

Vorsicht, dass es keine Standard-regexp ala Perl ist aber basiert auf SNOBOL4. jedoch sollte es nicht sehr schwierig sein, von einer Art von regulären Ausdrücken in einem anderen zu umwandeln.

Andere Tipps

Sie können durch dieses Beispiel gehen wollen, und schauen nur für die Zeichen, die Sie ignorieren möchten und sie nicht in die neue Zeichenfolge setzen.

Welche Version von Ada verwenden Sie?

http://www.adaic.com /docs/95style/html/sec_8/8-4-7.html

Ich würde wahrscheinlich auf die Sachen SNOBOL Gnat schauen in die Schuhe.

Allerdings gibt es ein Projekt für allgemeine lexikalische Analyse (ein wenig wie Boot-Geist) genannt OpenToken . Für slighly komplexere Aufgaben, können Sie es nützlich finden.

Ich habe nicht mit der modernen Inkarnation gearbeitet, aber als ich die Leitung an war ihm das Projekt war Compiler unabhängig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top