Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Una Funcion Para Quitar Los Espacios Sobrantes.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Una Funcion Para Quitar Los Espacios Sobrantes. 
 
Hola a todos.
Ayer me tope con un problema debido a que algunas cadenas de texto, que manejaba con un programa, tenían espacios al comienzo o al final o varios espacios repetidos entre medio o todos los casos juntos  
Bueno el caso es que esto me traía problemas e intente encontrar, sin existo, alguna función que solucione el tema, lo que me llevo a hacer una que lo resuelva.
Lo dejo aquí por si les sirve.

Public Function RSpaces(str As String) As String ''Remueve los espacios al inici oy al final de una cadena y si entre el inicio y e l final hay espacios repetidos los convierte en uno solo.

  Dim int As Integer
  Dim strPos As String
  Dim strRemoved As String

  For int = 1 To String.Len(str)
    strPos = String.Mid(str, int, 1)
    Select strPos
      Case " "
        If int < String.Len(str) Then
          If String.Mid(str, int + 1, 1) <> " " Then
            strRemoved &= strPos
          Endif
        Endif
      Case Else
        strRemoved &= strPos
    End Select

  Next

  Return strRemoved

End
 


Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Una Funcion Para Quitar Los Espacios Sobrantes. 
 
Otra forma más cortita de escribir (aunque no he probado si más rápida o lenta):
Public Sub quitaspaces(cadena As String) As String
  
  cadena = Trim(RTrim(cadena))
  While InStr(cadena, "  ")
    cadena = Replace(cadena, "  ", " ")
  Wend
  Return cadena
  
End

 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Una Funcion Para Quitar Los Espacios Sobrantes. 
 
shordi escribió:  
Otra forma más cortita de escribir (aunque no he probado si más rápida o lenta):

Trim y RTrim eso era lo que buscaba. Para los espacios del medio de la cadena no creo que sea lento. Pero como se podría saber que tiempo tarda cada uno de los métodos.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Una Funcion Para Quitar Los Espacios Sobrantes. 
 
Con el perfilador. Te dice lo que tarda cada función y cada instrucción.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Una Funcion Para Quitar Los Espacios Sobrantes. 
 
He hecho una pequeña prueba y es más rápida la mía que la tuya. Es un mini-proyecto que se limita a ejecutar 100 veces cada función.
El resultado:
 captura_de_pantalla_de_2017_11_20_11_17_25

Adjunto el proyecto.

tiempos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: tiempos-0.0.1.tar.gz
Tamaño: 11.73 KB
Descargado: 40 veces
tiempos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: tiempos-0.0.1.tar.gz
Tamaño: 11.73 KB
Descargado: 40 veces
tiempos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: tiempos-0.0.1.tar.gz
Tamaño: 11.73 KB
Descargado: 40 veces

 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Una Funcion Para Quitar Los Espacios Sobrantes. 
 
A mi me da mas diferencia todavía.
Así que he cambiado la función por la tuya, que es evidentemente la optima.
 bencmark
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Una Funcion Para Quitar Los Espacios Sobrantes. 
 
El perfilador es una herramienta maravillosa. Yo he llegado a modificar bases de datos casi enteras a raíz de la información que de él recibo. Qué consultas son más lentas, dónde se pierde tiempo innecesario, etc. etc.

Imprescindible 100%
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Una Funcion Para Quitar Los Espacios Sobrantes. 
 
shordi escribió:  
El perfilador es una herramienta maravillosa. Yo he llegado a modificar bases de datos casi enteras a raíz de la información que de él recibo. Qué consultas son más lentas, dónde se pierde tiempo innecesario, etc. etc.
Imprescindible 100%

Si la verdad que si.
Para analizar consultas sql (de SQLite) no es mejor el apartado de ejecución de consultas de DB Browser por ejemplo. En MySQL habrá lo propio seguramente.
 query
Saludos
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Una Funcion Para Quitar Los Espacios Sobrantes. 
 
Sí para aislar una consulta concreta pero normalmente nos interesa ver cómo se comportan en nuestros programas, más que lo que tardan en sí mismas. Por ejemplo: Mysql ya lleva su optimizador de consultas (y un umbral de tiempo que las define como lentas o no más un registro de log que almacena las lentas, etc. etc... pero eso otra historia) y puedes hacer consultas guays, pero usando el perfilador descubrí que, tenía una función que de vez en cuando cerraba la conexión y al hacer una serie de consultas había que volver a abrir la conexión, eso me enlentecía lo indecible un bucle. Sin el perfilador difícilmente lo habría encontrado.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron