Cómo eliminar caracteres de una cadena, excepto los de una lista

Este es mi valor de cadena:

string str = "32 ab d32";

Y esta lista son mis caracteres permitidos:

var allowedCharacters = new List<string> { "a", "b", "c", "2", " " };

Quiero que se convierta en:

str == " 2 ab   2";

Me gustaría reemplazar cualquier carácter que no esté en la lista de caracteres permitidos, con un espacio vacío.

Respuestas a la pregunta(5)

Su respuesta a la pregunta