https://github.com/expez/superstring.git
git clone 'https://github.com/expez/superstring.git'
(ql:quickload :expez.superstring)
Add the following dependency to your project.clj file:
[superstring "3.0.0"]
This is a convenience library. There's nothing in here that you haven't written at least once before, but your time is valuable and you shouldn't have to do it again.
It's also annoying to pull in $library as well as clojure.string
to get complete coverage. Or pull in $library where the functions in clojure.string are renamed, or re-implemented with slightly different semantics. I've opted to alias all the vars in
clojure.string so you only need to require a single namespace and because I know you hate surprises.
A ton of functions, either on String, or elsewhere, return true as the truthy value. In a lisp this is a terrible waste. To afford string punning this library returns s as the truthy value so you can do stuff like this:
(require [superstring.core :as str])
(some-> linkedIn-profile
(str/includes? "developer" :ignore-case)
(str/includes-all? ["java" "xml"] :ignore-case)
(str/includes-any? ["ninja" "rockstar"] :ignore-case)
extract-contact-info
send-unsolicited-job-offer)
The character ß is a lower case, german, character that is shorthand
for ss. This character is, to my knowledge, exceptional in that it
upper cases to a combination of two characters. Frankly, this
annoying character should be deprecated, but in the meanwhile we
should try to treat it in a consistent manner.
The jvm has the following behavior:
(Character/toUppercase \ß) ;;=> \ß
(.toUppercase "ß") ;;=> "SS"
(.equalsIgnoreCase "ß" "ss") ;;=> false
I'm interpreting this to mean:
ß and ss or
SS as equal.SS to be the upper case variant of ß.Yes!
Copyright © 2018 Lars Andersen
This project is licensed under the Eclipse Public License 1.0.