このディレクトリの索引
#  
#  文字列の先頭から連続文字を切り出す
#  


文字列の先頭から同じ文字による文字列を切り出す(_文字列,_同じ文字の文字列,_残り文字列) :-
        sub_atom(_文字列,0,1,_,_文字),
        文字列から同じ文字による文字列を切り出す(_文字列,_文字,1,_同じ文字の文字列,_残り文字列).

文字列から同じ文字による文字列を切り出す(_文字列,_文字,_開始位置_1,_同じ文字の文字列,_残り文字列) :-
        sub_atom(_文字列,_開始位置_1,1,_,_文字),
        文字列から同じ文字による文字列を切り出す(_文字列,_文字,_開始位置_1,_,_同じ文字の文字列,_残り文字列).


文字列から同じ文字による文字列を切り出す(_文字列,_文字,_開始位置_1,_開始位置,_同じ文字の文字列,_残り文字列) :-
        文字列の先頭文字が指定文字の時は指定文字以外に出会うまで切り出しを続ける(_文字列,_文字,_開始位置_1,_開始位置,_同じ文字の文字列,_残り文字列),!.
文字列から同じ文字を切り出す(_文字列,_,_開始位置,_開始位置,_同じ文字の文字列,_残り文字列) :-
        同じ文字による文字列と残り文字列に切り分ける(_文字列,_開始位置,_同じ文字の文字列,_残り文字列).


文字列の先頭文字が指定文字の時は指定文字以外に出会うまで切り出しを続ける(_文字列,_文字,_開始位置_1,_開始位置,_同じ文字の文字列,_残り文字列) :-
        sub_atom(_文字列,_開始位置_1,1,_,_文字),
        _開始位置_2 is _開始位置_1 + 1,
        文字列から同じ文字による文字列を切り出す(_文字列,_文字,_開始位置_2,_開始位置,_同じ文字の文字列,_残り文字列).

同じ文字による文字列と残り文字列に切り分ける(_文字列,_開始位置,_同じ文字の文字列,_残り文字列) :-
        sub_atom(_文字列,0,_開始位置,_残り文字数,_同じ文字の文字列),
        sub_atom(_文字列,_,_残り文字数,0,_残り文字列).