我需要在测试中检查Java字符串是否包含子字符串。
这不起作用,因为java字符串不是集合:
(deftest test_8
(testing "get page from sputnik"
(let [
band "Isis"
page (get-sputnikpage-for-artist band)
]
(is (contains? band "Isis")))));does NOT work
有没有一种方法可以将Java字符串转换为集合?还是可以其他方式检查子字符串的出现?
最佳答案
最简单的方法是使用contains
中的java.lang.String
方法:(.contains "The Band Named Isis" "Isis")
=>是的
您也可以使用正则表达式进行操作,例如
(re-find #"Isis" "The Band Named Isis")
=>“Isis”
(re-find #"Osiris" "The Band Named Isis")
=>无
如果您需要结果为真或假,则可以将其包装在
boolean
中:(boolean (re-find #"Osiris" "The Band Named Isis"))
=>错误