Следующее регулярное выражение будет делать то же самое, что и ваш алгоритм.Я не знаю библиотек для подобных вещей.
String s = input
.replaceAll(" ?- ?","-") // remove spaces around hyphens
.replaceAll("[ ']","-") // turn spaces and quotes into hyphens
.replaceAll("[^0-9a-zA-Z-]",""); // remove everything not in our allowed char set