Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: binario010101 en 4 Noviembre 2013, 16:20 pm



Título: como elimino espacio entre letras sin eliminar espacios entre palabras?
Publicado por: binario010101 en 4 Noviembre 2013, 16:20 pm
como elimino espacio entre letras sin eliminar espacios entre palabras?

Código:
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

Código:
Click   on   the   New   Profile   button   to   open   the   Profile


Título: Re: como elimino espacio entre letras sin eliminar espacios entre palabras?
Publicado por: Almapa en 4 Noviembre 2013, 17:43 pm
Y si haces algo de este tipo? No es muy técnico pero rápido y sencillo:

Código:
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


Título: Re: como elimino espacio entre letras sin eliminar espacios entre palabras?
Publicado por: binario010101 en 9 Noviembre 2013, 18:41 pm
ok gracias amigo


Título: Re: como elimino espacio entre letras sin eliminar espacios entre palabras?
Publicado por: Eleкtro en 11 Noviembre 2013, 05:28 am
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".

Eso 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
  1. @Echo OFF
  2.  
  3. 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"
  4. set "str=%str:   ={^_^}%"
  5. set "str=%str: =%"
  6. set "str=%str:{^_^}= %"
  7.  
  8. Echo "%str%"
  9.  
  10. Pause&Exit


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

Código
  1. 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"
  2. arr = split(str,"   ")
  3.  
  4. for each item in arr
  5. output = output & replace(item, " ", "") & " "
  6. next
  7.  
  8. msgbox(output)

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

Saludos


Título: Re: como elimino espacio entre letras sin eliminar espacios entre palabras?
Publicado por: Almapa en 11 Noviembre 2013, 08:16 am
Citar
set "str=%str:   ={^_^}%"

Jajaja muy buena!  ;-)