Aad*_*hah 6 string split idioms racket
我想在 Racket 中将一个字符串转换为一个字符串的列表:
(string-split-wishful "abcd" "") => (list "a" "b" "c" "d")
Run Code Online (Sandbox Code Playgroud)
这就是我想要的功能。最接近的是string-split它不做我想要的:
(string-split "abcd" "") => (list "" "a" "b" "c" "d" "")
Run Code Online (Sandbox Code Playgroud)
如何去掉开头和结尾多余的空字符串?我知道我可以做类似的事情,(reverse (cdr (reverse (cdr (string-split "abcd" "")))))但我想知道是否有更惯用的方法来做到这一点。
尝试这个:
(string-split "abcd" #rx"(?<=.)(?=.)")
; ==> ("a" "b" "c" "d")
Run Code Online (Sandbox Code Playgroud)
它使用正则表达式而不是字符串,并且正则表达式由一个零宽度正后向断言组成,这样它只在一个字符之后匹配,以及一个零宽度正前向断言,这样匹配需要在其字符中包含一个字符。右侧进行匹配。
亚历克西斯的建议也很好,甚至可能表现得更好:
(map string (string->list "abcd"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7507 次 |
| 最近记录: |