문제
나는 Ada를 처음 접했고, 몇 가지 텍스트로 간단한 작업을하려고 노력하고 있습니다. 내가하고 싶은 것은 파일로 읽고 글자, 공간 또는 새 줄이 아닌 것을 제거하는 것입니다. 따라서 모든 구두점과 숫자를 제거합니다. 다른 언어에서는 간단한 [^a-za-z] 정규 표현식을 만들고 각 캐릭터를보고 Regex에 맞는 경우 삭제하지만 ADA의 Regex에 대한 문서를 찾을 수는 없습니다. Ada에 Regex가 있습니까? 그렇지 않다면, 이와 같은 간단한 텍스트 편집을하는 가장 좋은 방법은 무엇입니까?
고마워, -jb
해결책
GNAT 컴파일러를 사용하는 경우 패키지 세트가 있습니다. GNAT.RegExp
, GNAT.RegPat
그리고 GNAT.Spitbol
이 작업을 위해 만들어졌습니다.
표준 regexp ala perl은 아니지만 snobol4를 기반으로합니다. 그러나 한 유형의 정규 표현에서 다른 유형으로 변환하는 것은 그리 어렵지 않아야합니다.
다른 팁
이 예제를 살펴보고 무시하고 싶은 캐릭터를 찾아 새 문자열에 넣지 마십시오.
어떤 버전의 ADA를 사용하고 있습니까?
나는 아마도 당신의 신발에서 Gnat Snobol 물건을 볼 것입니다.
그러나 일반적인 어휘 분석 (Boot 's Spirit)이라는 프로젝트가 있습니다. opentoken. 더 복잡한 작업의 경우 유용 할 수 있습니다.
나는 현대의 화신과 함께 일하지 않았지만, 내가 그것을 주도했을 때 프로젝트는 컴파일러에 대한 정보를 얻었습니다.
제휴하지 않습니다 StackOverflow