首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用球拍劈开一根绳子

用球拍劈开一根绳子
EN

Stack Overflow用户
提问于 2017-09-26 20:19:52
回答 1查看 5.9K关注 0票数 5

我想将一个字符串转换成一个球拍中的字符串列表:

代码语言:javascript
复制
(string-split-wishful "abcd" "") => (list "a" "b" "c" "d")

这是我所希望的功能。最接近的是string-split,它不做我想做的事情:

代码语言:javascript
复制
(string-split "abcd" "") => (list "" "a" "b" "c" "d" "")

在开始和结束时,我如何摆脱多余的空字符串?我知道我可以做一些类似(reverse (cdr (reverse (cdr (string-split "abcd" "")))))的事情,但我想知道是否有一种更惯用的方法来做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-26 20:56:31

试试这个:

代码语言:javascript
复制
(string-split "abcd" #rx"(?<=.)(?=.)")
; ==> ("a" "b" "c" "d")

它使用正则表达式而不是字符串,正则表达式由零宽度正向后的断言组成,只有在字符之后才匹配,另有一个零宽度的正前瞻断言,这样匹配的右侧需要一个字符。

亚历克西斯的建议也不错,甚至可能表现得更好:

代码语言:javascript
复制
(map string (string->list "abcd"))
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46435125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档