Вопрос

Я очень новичок в Ada, и я пытаюсь выполнить простую работу с текстом.Все, что я хочу сделать, это прочитать файл и удалить все, что не является буквой, пробелом или новой строкой.итак, убираем все знаки препинания и цифры.На других языках я бы просто создал простое регулярное выражение [^ a-zA-Z], посмотрел на каждый символ и удалил его, если он соответствует регулярному выражению, но, похоже, я не могу найти никакой документации по регулярным выражениям в Ada.Итак, есть ли регулярные выражения в Ada?Если нет, то каков наилучший способ для меня заняться простым редактированием текста, подобным этому?

большое спасибо, -джей Би

Это было полезно?

Решение

если вы используете компилятор GNAT, существует набор пакетов, называемых GNAT.RegExp, GNAT.RegPat и GNAT.Spitbol создан для этой задачи.

имейте в виду, что это не стандартное регулярное выражение ala perl, а основано на SNOBOL4.однако преобразование из одного типа регулярного выражения в другой не должно быть очень сложным.

Другие советы

Возможно, вы захотите просмотреть этот пример и просто поискать символы, которые вы хотите проигнорировать, и не вставлять их в новую строку.

Какую версию Ada вы используете?

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

Я бы, наверное, посмотрел на Комариный снобол на твоем месте.

Однако для общего лексического анализа доступен проект (что-то вроде Boot's Spirit) под названием OpenToken ( Открытый токен ).Для чуть более сложных задач это может оказаться полезным.

Я не работал с современным воплощением, но в те времена, когда я был его руководителем, проект не зависел от компилятора.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top