2017-09-26 84 views
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" "")))))的事情,但我想知道是否有這樣做的更習慣性的方式。

+5

你可以使用'(圖字符串(與字符串>列表STR))'。 –

回答

2

試試這個:

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

它使用正則表達式,而不是字符串和正則表達式由零寬度正向後看斷言使得其僅一個字符後,相匹配的和一個零寬積極的預見性斷言,使得匹配需要在其右側的一個字符匹配。

Alexis的建議也很不錯,甚至可能有更好的表現太:

(map string (string->list "abcd"))