Come posso fare a purificare una stringa da ogni carattere che non corrisponda alle lettere dell'alfabeto, numeri, trattini e agli underscore?

esempio: moccolo & puzzetta - ciao bell'idiota!.mp3
diventa: moccolo__puzzetta-ciao_bell_idiota.mp3