2017-09-26 8 views
1

의 문자열 나는 ​​라켓 하나의 문자열 목록으로 문자열을 변환 할 :분할은 라켓

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

이 내가 바라는 기능입니다.

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

은 어떻게 시작과 끝 부분에 불필요한 빈 문자열 제거합니까 : 가장 가까운 것은 내가 원하는 것을하지 않는 string-split입니까? 내가 (reverse (cdr (reverse (cdr (string-split "abcd" "")))))과 같은 것을 할 수 있다는 것을 알고 있지만 이것을하기위한 더 관용적 인 방법이 있는지 알고 싶습니다. 대신 문자열의 정규 표현식 정규 표현식을 사용

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

그것을 단지 문자 다음에 일치하도록 제로 폭 긍정적 인 모습 숨김 주장으로 구성되어 하나의 제로 폭 :

+5

당신은 사용할 수'(지도 스트링 (현악기와>리스트는 str))'. –

답변

2

이 시도 긍정적 인 look-ahead assertion을 사용합니다.

알렉시스 '제안, 너무 좋은 더 나은도 수행 할 수 있습니다

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