Вот решение с использованием string_to_list
.
splitList(A) :-
string_to_list(A, [_,_,_,A1,_,_,_,B1,_,_,_,C1,_,_,_,D1,_]),
string_to_list(A2, [A1]),
string_to_list(B2, [B1]),
string_to_list(C2, [C1]),
string_to_list(D2, [D1]),
write([A2,B2,C2,D2]).
Пример:
?- splitList('[2/4,3/6,1/2,7/5]').
[4,6,2,5]
true.