10/01/20 16:49:25
>>358
% Prolog
文字列を受け取ってスペースと記号を削除した文字列を返す(_文字列,_スペースと記号を削除された文字列) :-
atom_codes(_文字列,Codes),
文字コードならびからスペースと記号を削除する(Codes,Codes2),
atom_codes(_スペースと記号を削除された文字列,Codes2).
文字コードならびからスペースと記号を削除する([],[]) :- !.
文字コードならびからスペースと記号を削除する([A|R1],X) :-
全角記号範囲(_コード下限,_コード上限),
A >= _コード下限,A =< _コード上限,
文字コードならびからスペースと記号を削除する(R1,X),!.
文字コードならびからスペースと記号を削除する([A|R1],X) :-
半角記号範囲(_コード下限,_コード上限),
A >= _コード下限,A =< _コード上限,
文字コードならびからスペースと記号を削除する(R1,X),!.
文字コードならびからスペースと記号を削除する([A|R1],[A|R2]) :-
文字コードならびからスペースと記号を削除する(R1,R2),!.
全角記号範囲(41376,41726).
半角記号範囲(32,47).
半角記号範囲(58,64).
半角記号範囲(91,96).