Gauche:部分スプリット

Gauche:部分スプリット

Scheme:初心者の質問箱より移動


部分スプリット

アルファベットと空白文字からなる文字列があります。空白文字をセパレータとして文字列を分割する関数partial-splitを作りたいです。ただし、分割された文字列が、引数で指定された単語と一致する場合、その部分での分割は行われません(その単語と空白をはさんだ右隣の単語とは分割されない)。partial-splitをどのように書いたらよいですか? -coze

gosh> (partial-split "long time ago" ())
("long" "time" "ago")
gosh> (partial-split "   long time    ago  " ())
("long" "time" "ago")
gosh> (partial-split "long time ago" '("time"))
("long" "time ago")
gosh> (partial-split "long time ago" '("ago"))
("long" "time" "ago")
gosh> (partial-split "long time ago" '("long" "time"))
("long time ago")
gosh> (partial-split "long long time ago" '("long"))
("long long time" "ago")
gosh> (partial-split "   long     long long time ago" '("long"))
("long     long long time" "ago")
More ...