Como faço para substituir vários espaços por um único espaço?

Bem, estou procurando uma função que reduza vários caracteres de espaço' ' em uma string.

Por exemplo, para strings dado:

s="hello__________world____!"

A função deve retornar"hello_world_!"

Em python, podemos fazer isso via regexp simplesmente como:

re.sub("\s+", " ", s);