como elimino espacio entre letras sin eliminar espacios entre palabras?

Iniciado por binario010101, 4 Noviembre 2013, 16:20 PM

0 Miembros y 1 Visitante están viendo este tema.

binario010101

como elimino espacio entre letras sin eliminar espacios entre palabras?


C l i c k   o n   t h e   N e w   P r o f i l e   b u t t o n   t o   o p e n   t h e   P r o f i l e



Click   on   the   New   Profile   button   to   open   the   Profile
binario010101@hotmail.com
no soy ing estudio sicologia

Almapa

Y si haces algo de este tipo? No es muy técnico pero rápido y sencillo:

setlocal enabledelayedexpansion
set frase=C l i c k   o n   t h e   N e w   P r o f i l e   b u t t o n   t o   o p e n   t h e   P r o f i l e
set frase=%frase:  =-%
set frase=%frase: =%
set frase=%frase:-= %


Eso si, el texto no debe contener en este caso el caracter "-" para su buen funcionamiento, de lo contrario puedes cambiarlo a cualquier otro.
Es lo primero que se me ha ocurrido XD

Un saludo


Eleкtro

#3
Por curiosidad, ¿Eso lo has sacado de un archivo de texto con codificación Unicode?, porque en ese caso debería ser suficiente con convertir el archivo a UTF o ANSI (1252) para eliminar los whitespaces "duplicados".

Cita de: Almapa en  4 Noviembre 2013, 17:43 PMEso si, el texto no debe contener en este caso el caracter "-" para su buen funcionamiento, de lo contrario puedes cambiarlo a cualquier otro.

Eso tiene un facil apaño,
Puedes usar una serie de caracteres, así la posibilidad de conflicto con los caracteres del string disminuye al 99,9%, yo he usado una carita:

Código (dos) [Seleccionar]
@Echo OFF

set "str=C l i c k   o n   t h e   N e w   P r o f i l e   b u t t o n   t o   o p e n   t h e   P r o f i l e"
set "str=%str:   ={^_^}%"
set "str=%str: =%"
set "str=%str:{^_^}= %"

Echo "%str%"

Pause&Exit



Una solución en cualquier otro lenguaje (ej: vbs) sería hacerle un Split a la cadena, y concatenar:

Código (vb) [Seleccionar]
str = "C l i c k   o n   t h e   N e w   P r o f i l e   b u t t o n   t o   o p e n   t h e   P r o f i l e"
arr = split(str,"   ")

for each item in arr
output = output & replace(item, " ", "") & " "
next

msgbox(output)


O diréctamente usar un regex para reemplazar los 3 espacios por 1, y el resto de espacios por nada.

Saludos








Almapa