Phil Hagelberg <p...@hagelb.org> writes: > It's a pretty common idiom in other languages for substring functions > to count from the end if given a negative index. > > (substring "hello world!" 6 -1) ;; => "world" > > I'd be glad if Clojure's "subs" function could work like this. Should > I create an issue and patch to implement it?
Haven't heard any response on this positive or negative. Here's the new function definition: (defn subs "Returns the substring of s beginning at start inclusive, and ending at end (defaults to length of string), exclusive. Negative arguments count from the end." ([#^String s start] (subs s start (count s))) ([#^String s start end] (let [count-back #(if (< 0 %) (+ (count s) %) %)] (.substring s (count-back start) (count-back end))))) Am I the only one who finds this useful? Perhaps if it's not suited for core it could go in str-utils in contrib as "substring". Thoughts? -Phil --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---