clojure remove last entrance of pattern in string
clojure, string
Solution
Your question doesn't specify if the pattern has to be a regex or a plain string. In the latter case you could just use the straightforward approach:
(defn remove-from-end [s end]
(if (.endsWith s end)
(.substring s 0 (- (count s)
(count end)))
s))
(remove-from-end "foo" "bar") => "foo"
(remove-from-end "foobarfoobar" "bar") => "foobarfoo"
For a regex variation, see the answer of Dominic Kexel.
Problem
I have a string and some pattern at the end of the string. How can I remove this pattern exactly at the end of the word but nothing more even if it exists in the beginning or in the middle. For example, the string is ``` PatternThenSomethingIsGoingOnHereAndLastPattern ``` and I need to remove the "Pattern" at the end so that result would be ``` PatternThenSomethingIsGoingOnHereAndLast ``` How can I do that?