Заменить в строке все цифровые символы нулями - Prolog
Формулировка задачи:
И google, и yandex мне не помогли. =). Темы такой на форуме нету, поэтому прошу поделится мыслями.
Требуется заменить в строке все цифровые символы нулями.
Вначале пытался сделать в общем виде для замены одного вводимого символа другим, но как-то не работает.
Не допонимаю, сам алгоритм работы похоже я:
И как сделать проверку на цифровые символы?
Решение задачи: «Заменить в строке все цифровые символы нулями»
textual
Листинг программы
predicates
nondeterm change(string,string)
nondeterm cyfra(char)
clauses
cyfra('1').
cyfra('9').
change("","").
change(S,R):-
frontchar(S,H,T),
cyfra(X),H=X,!,
change(T,Tr),
frontchar(R,'0',Tr).
change(S,R):-
frontchar(S,H,T),
change(T,Tr),
frontchar(R,H,Tr).
goal
change("as1231 3129312",X).