Prolog - 将字符串与整数分开

时间:2016-05-21 15:56:41

标签: string prolog divide

我有一个类似于这个['hello world'-2, 'another string'-2,...]的列表,我需要将字符串与整数分开,以便处理它们。有关如何做到这一点的任何想法?我试过这个:

1 ?- term_string('hello world'-2,String),split_string(String,'-',' ',List).
String = "'hello world'-2",
List = ["'hello world'", "2"].

但是这给了我一个字符串的字符串,我只想要字符串。

1 个答案:

答案 0 :(得分:0)

我认为转换为术语的字符串表示然后拆分字符串是错误的方法。这有点蛮力和间接。您可以直接拆分条款:

split_term(A-B, [A, B]).
split_list(L, R) :- maplist(split_term, L, R).

?- split_list(['hello world'-2, 'another string'-2], R).
R = [['hello world', 2], ['another string', 2]].