规范Prolog原子中的空格字符

时间:2009-02-03 21:02:38

标签: string prolog whitespace

在Prolog原子中规范化空白字符(空格,换行符,制表符)的最佳方法是什么,例如在SWI-Prolog。 即我想有一个规则:

normalize_space_in_atom(+Atom1, -Atom2)

这样Atom2

  • 将任何空格字符序列转换为单个空格
  • 以非空格
  • 开头
  • 以非空格
  • 结尾

1 个答案:

答案 0 :(得分:2)

SWI Prolog提供normalize_space / 2,因此您可以按如下方式定义谓词:

normalize_space_in_atom(A1,A2) :- normalize_space(atom(A2),A1).

我已经尝试过使用SWI Prolog 5.7.5并且它似乎有效。如果您愿意,可以添加更多错误处理。