このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1323566370/239
#  質問させてください。 
#  半角文字列にスペースが含まれています。 
#   
#  例 
#  727 751 798 625 791 460 645 850 656 697....... 
#  このスペースをカウントして,3つめのスペースだけを改行に置換する場合(下) 
#  727 751 798 
#  625 791 460 
#  645 850 656 
#  697....... 
#   
#  どう表現すればいいのでしょうか? 
#   
#  数値が全て3桁ならば分かるのですが,2桁や4桁が含まれており文字数ではマッチできません。 
#  よろしくお願いします 
#   

'スペースをカウントして,3つめのスペースだけを改行に置換する'(_文字列,_置換された文字列) :-
        atom_chars(_文字列,Chars1),
        'スペースをカウントして,3つめのスペースだけを改行に置換する'(0,Char,Char1),
        concat_atom(_置換された文字列,Char2).
        
'スペースをカウントして,3つめのスペースだけを改行に置換する'(_,[],[]) :- !.
'スペースをカウントして,3つめのスペースだけを改行に置換する'(2,[' '|R1],['\n'|R2]) :-
        'スペースをカウントして,3つめのスペースだけを改行に置換する'(0,R1,R2).
'スペースをカウントして,3つめのスペースだけを改行に置換する'(N,[' '|R1],[' '|R2]) :-
        N2 is N + 1,
        'スペースをカウントして,3つめのスペースだけを改行に置換する'(N2,R1,R2).
'スペースをカウントして,3つめのスペースだけを改行に置換する'(N,[A|R1],[A|R2]) :-
        \+(A=' '),
        'スペースをカウントして,3つめのスペースだけを改行に置換する'(N,R1,R2).