如何查找字符串是否以Clojure中的几个选项之一开头

时间:2018-11-17 10:40:26

标签: clojure

我想找出一个字符串是否以几个不同选项之一开头。例如,我想知道字符串是否以任何元音(“ a”或“ e”或“ i”或“ u”)开头。

我认为我应该使用Clojure的starts-with?,但我不知道从那里去哪里。我尝试使用正则表达式,但无法正确处理。我也尝试使用(or "a" "e" "i" "o" "u"),但这也不对。


编辑:经过更多的实验之后,
(re-matches #"^[aeiou].*" string)
可以,但是我不知道这是最好的方法

2 个答案:

答案 0 :(得分:3)

正则表达式很好。没有正则表达式:

(contains? (set "aeiou") (first "apple"))

答案 1 :(得分:1)

要使用AVPlayerViewController,您需要迭代元音列表。我会用starts-with?来帮助解决这个问题,因为您只关心字符串的开头是否包含 some 元音:

some

不过,老实说,我会做@Michiel已经建议的事情并进行设置查找,尽管我会做一些不同的事情:

(some #(s/starts-with? "hello" (str %)) "aeiou")
=> nil

(some #(s/starts-with? "apple" (str %)) "aeiou")
=> true