Pergunta

Eu sou muito novo para Ada, e eu estou tentando fazer algum trabalho simples com algum texto. Tudo que eu quero fazer é ler em um arquivo, e retirar tudo o que não é uma letra, espaço ou nova linha. assim remover toda a pontuação e números. Em outras línguas que eu só iria criar um simples [^ a-zA-Z] expressão regular, olhar para cada personagem e excluí-lo se ele se ajustar à RegEx, mas eu não consigo encontrar qualquer documentação sobre RegEx de em Ada. Assim, existem RegEx de em Ada? Se não, qual é a melhor maneira para eu ir sobre edição de texto simples como este.

muito obrigado, -jb

Foi útil?

Solução

Se você estiver usando o compilador GNAT, há um conjunto de pacotes chamados GNAT.RegExp, GNAT.RegPat e GNAT.Spitbol feita para esta tarefa.

cuidado que não é regexp padrão ala perl, mas é baseado em SNOBOL4. no entanto, não deve ser muito difícil para converter de um tipo de expressão regular para outro.

Outras dicas

Você pode querer passar por este exemplo, e basta olhar para os caracteres que você deseja ignorar e não colocá-los para a nova string.

Qual versão do Ada você está usando?

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

eu provavelmente olhar para coisas do mosquito SNOBOL em seus sapatos.

No entanto, há um projeto disponível para análise léxica geral (um pouco como o Espírito de inicialização) chamada OpenToken . Para tarefas slighly mais complexas, você pode achar que é útil.

Eu não tenho trabalhado com a encarnação moderna, mas quando eu era a liderança nele o projeto foi compilador-agnóstico.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top