¿Cómo reemplazar solo un espacio en blanco con expresiones regulares en python?

por ejemplo:

T hetextiswhat I wanttoreplace 

Quiero el resultado como este:

 The text is what I want to replace 

Lo intenté con shell, sed,

  echo 'T hetextis W hat I wantreplac e'|sed -r "s/(([a-zA-Z])\s){1}/\2/g"|sed 's/\ / /g' 

es exitoso pero no sé cómo reemplazar esto en Python . ¿Alguien podría ayudarme?

Si solo desea convertir una cadena que tenga espacios en blanco entre cada caracteres:

 >>> import re >>> re.sub(r'(.) ', r'\1', 'T hetextiswhat I wanttoreplac e') 'The text is what I want to replace' 

O, si desea eliminar todos los espacios en blanco individuales y reemplazar los espacios en blanco por uno solo:

 >>> re.sub(r'( ?) +', r'\1', 'ABC D') 'AB CD' 

Solo por diversión, aquí hay una solución no regex que utiliza operaciones de cadena:

 >>> text = 'T hetextiswhat I wanttoreplace' >>> text.replace(' ' * 3, '\0').replace(' ', '').replace('\0', ' ') 'The text is what I want to replace' 

(Por el comentario, cambié el _ a \0 (carácter nulo).)

Solo por diversión, dos formas más de hacerlo. Ambos asumen que hay estrictamente un espacio después de cada personaje que quieras.

 >>> s = "T hetextiswhat I wanttoreplace " >>> import re >>> pat = re.compile(r'(.) ') >>> ''.join(re.findall(pat, s)) 'The text is what I want to replace' 

Aún más fácil, usando el corte de cuerdas:

 >>> s[::2] 'The text is what I want to replace'