Como contar o número de palavras em uma frase, ignorando números, pontuação e espaço em branco?

Como eu iria contando as palavras em uma frase? Estou usando o Python.

Por exemplo, eu posso ter a string:

string = "I     am having  a   very  nice  23!@$      day. "

Isso seria 7 palavras. Estou tendo problemas com a quantidade aleatória de espaços após / antes de cada palavra, bem como quando números ou símbolos estão envolvidos.

questionAnswers(7)

yourAnswerToTheQuestion