Trim white spaces, lower case, then strip the accents.
Properly capitalize a title.
Properly capitalize a title. http://titlecapitalization.com/#
String containing the blacklist chars.
Trim characters from the right that belongs to a blacklist.
Trim non-letter chars from the beginning and end
Determine if a character is blacklisted and should be trimmed.
String with blacklisted chars trimmed from the right.
Extension methods for String. Meant to be mixed into an extension method implicit class, which is why it extends Any. While we provide a StringImplicits implementation below that uses this trait, we define this trait separately so that client projects can extend the extension methods further (because you cannot extend an extension method class).
To understand the quirky rules of extension method implicit classes, see http://docs.scala-lang.org/overviews/core/value-classes.html#extension-methods
A String extension method class should be defined like: format: OFF
format: ON