我和接口共发现 ,还有一些我想分类的条件(各种适当的名称)在数据库中资本化,但输入我得到的可能不正确大写。 我在这里的最初的想法是写产生的各种capitalisations可能输入的谓语,但我不知道如何去做。
有没有人有一个想法如何去这个问题,甚至更好,更有效的方式来实现我想要做什么?
我和接口共发现 ,还有一些我想分类的条件(各种适当的名称)在数据库中资本化,但输入我得到的可能不正确大写。 我在这里的最初的想法是写产生的各种capitalisations可能输入的谓语,但我不知道如何去做。
有没有人有一个想法如何去这个问题,甚至更好,更有效的方式来实现我想要做什么?
这取决于你所使用的Prolog的执行,但有可能是库函数可以使用。
例如,从SWI-Prolog的参考手册 :
4.22.1大小写转换
没有什么Prolog的标准为文本数据转换情况。 的SWI-Prolog的谓词code_type / 2和char_type / 2可以被用于测试和转换单个字符。 我们已经开始增加一些支持:
downcase_atom(+ AnyCase,-LowerCase)
作为char_type / 2不会(即,基于定义的区域设置如果Prolog的托管平台上提供区域设置支持),并且统一用小写小写原子AnyCase的字符转换为小写。
upcase_atom(+ AnyCase,-UpperCase)
转换,类似于downcase_atom / 2,一个原子为大写。
由于这只是downcases任何真实传递给它的,你可以很容易地编写一个简单的谓词做任何分析之前清空所有的输入。