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'