代码之家  ›  专栏  ›  技术社区  ›  arnsholt

如何在prolog中进行案例转换?

  •  2
  • arnsholt  · 技术社区  · 16 年前

    我正在与 WordNet ,我想分类的一些术语(各种专有名称)在数据库中大写,但我得到的输入可能没有正确大写。我在这里的最初想法是写一个谓词,它产生一个输入可能的各种资本化,但我不确定如何进行。

    有没有人知道如何去做,或者更好,一个更有效的方法来实现我想做的?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Mostowski Collapse ninesided    9 年前

    这取决于您使用的是什么prolog实现,但可能有一些库函数可以使用。

    例如从 SWI-Prolog reference manual :

    4.22.1案例转换

    Prolog标准中没有用于在文本数据中转换大小写的内容。SWI Prolog 谓词code_type/2和char_type/2可用于测试和转换单个 字符。我们已经开始了一些额外的支持:

    小写\u atom(+anycase,-小写)

    将任意大小写的字符转换为小写字符,如char_type/2(即基于 如果prolog在宿主平台上提供区域设置支持并统一 小写原子,小写。

    upcase_atom(+anycase,-upcase)

    将原子转换为大写,类似于小写\u atom/2。

    因为这只会降低传递给它的内容的大小,所以您可以轻松地编写一个简单的谓词,以便在进行任何分析之前对每个输入进行消毒。

    推荐文章