Steps to reproduce
(str/lisp-case "message(SMS)")
=> "message(sm-s)"
Actual result: "message(sm-s)"
Expected result: "message(sms)"
How to fix
The problem seems to be here:
(replace #"(\p{javaUpperCase})((\p{javaUpperCase})[(\p{javaLowerCase})0-9])" "$1 $2")
Because this RE [(\p{javaLowerCase})0-9] will catch digits, lower cased chars and, I believe unwanted, parentheses ( ).
This probably should be
[\p{javaLowerCase}0-9] instead of
[(\p{javaLowerCase})0-9]
Example:
(clojure.string/replace "aB()" #"[\p{javaLowerCase}]" "-")
=> "-B()"
(clojure.string/replace "aB()" #"[(\p{javaLowerCase})]" "-")
=> "-B--"
Steps to reproduce
Actual result:
"message(sm-s)"Expected result:
"message(sms)"How to fix
The problem seems to be here:
Because this RE
[(\p{javaLowerCase})0-9]will catch digits, lower cased chars and, I believe unwanted, parentheses().This probably should be
[\p{javaLowerCase}0-9]instead of[(\p{javaLowerCase})0-9]Example: