The lazy sequence in Clojure is a confusing part for many beginners, especially when it used together with side effects. The catch is, depends on the actual way by which the lazy sequence is consumed, the items in the sequence can be fully, partially or completely not consumed. If there is no side effect operation in the items, nothing .
You have a sub string used as delimiter in another string, how to get the rest string after the delimiter? You can calculate the end position of the sub string and then cut the string from the position or split the string by the sub string, the following code shows how to do it.
(subs "hello world" (+ (.indexOf "hello world" "hello") (.length "hello"))) (nth (clojure.string/split "hello world" #"hello") 1)