les caractères d'espace en normalisant les atomes Prolog
-
21-08-2019 - |
Question
Quel est le meilleur moyen pour normaliser les caractères blancs (espace, saut de ligne, onglet) dans un atome Prolog, par exemple, dans SWI-Prolog. C'est à dire. Je voudrais avoir une règle:
normalize_space_in_atom(+Atom1, -Atom2)
tel que Atom2
- a une séquence de caractères d'espacement transformé en un espace unique
- commence par un non-espace
- se termine par un non-espace
La solution
SWI Prolog fournit normalize_space / 2, et vous pouvez donc définir votre prédicat comme suit:
normalize_space_in_atom(A1,A2) :- normalize_space(atom(A2),A1).
J'ai essayé cela avec SWI Prolog 5.7.5 et il semble fonctionner. Vous pouvez ajouter la gestion des erreurs si vous le souhaitez.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow