2017-09-26 9 views
1

内の文字列:分割私はラケットの1つの文字列のリストに文字列を変換したいラケット

(string-split-wishful "abcd" "") => (list "a" "b" "c" "d") 

これは私が望む機能です。最も近いものは、私がやりたいしないstring-split次のとおりです。

(string-split "abcd" "") => (list "" "a" "b" "c" "d" "") 

は、どのように私は、最初と最後に余計な空の文字列を取り除くのですか?私は(reverse (cdr (reverse (cdr (string-split "abcd" "")))))のようなことをすることができることを知っていますが、これを行うためのより慣れた方法があるかどうかを知りたいと思います。それは代わりに、文字列の正規表現と正規表現を使用しています

(string-split "abcd" #rx"(?<=.)(?=.)") 
; ==> ("a" "b" "c" "d") 

を、それが唯一の文字の後に一致するように、ゼロ幅の正のルックビハインドアサーションで構成されており、1つのゼロ幅:

+5

あなたが使用することができ、 '(マップ文字列(はstring->リストstrを))'。 –

答えて

2

これを試してみてください一致が見えるように、その右側に1つの文字が必要なような正の先読みアサーション。

アレクシス提案は、あまりにも素敵であっても良く、あまりにも実行することがあります:

(map string (string->list "abcd")) 
関連する問題