Test Foro de elhacker.net SMF 2.1

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 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
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:

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".

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
Título: Re: como elimino espacio entre letras sin eliminar espacios entre palabras?
Publicado por: Almapa en 11 Noviembre 2013, 08:16 AM
Citarset "str=%str:   ={^_^}%"

Jajaja muy buena!  ;-)