Visual Basic - Quitar largos espacios en blanco en cadena

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Quitar largos espacios en blanco en cadena

Publicado por Eric (7 intervenciones) el 01/02/2018 18:37:08
Estimados, tengo un problema, tengo un textbox multilinea que tiene grandes espacios en blanco entre un string y otro y no consigo quitarlos, así se ve el texto:

ayuda10

Y la idea es que quede así insertando un "|" en los espacios en blanco

-|Yashir Pinto|-|Yerson Opazo|

Al ser un espacio tan largo no me funciona las función de "replace" o "trim",
Alguien tiene alguna idea de como poder lograrlo.

Muchas gracias amigos,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 8
Ha disminuido su posición en 15 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Quitar largos espacios en blanco en cadena

Publicado por Horroroso (13 intervenciones) el 01/02/2018 18:57:47
Utiliza una expresion regular:
1
s = Regex.Replace(s, " {2,}", "|")

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Quitar largos espacios en blanco en cadena

Publicado por Eric (7 intervenciones) el 01/02/2018 19:08:13
Muchas gracias amigo, pensaba que por ahí estaba la solución, lo intentaré.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quitar largos espacios en blanco en cadena

Publicado por Eric (7 intervenciones) el 01/02/2018 21:57:55
Estimado, por mas que intento no consigo hacer funcionar el código, nunca he usado expresiones regulares y estoy algo perdido, me podrías ayudar.

Agregué la referencia al proyecto, pero me da error "Se requiere un objeto"

Gracias amigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 15 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Quitar largos espacios en blanco en cadena

Publicado por Horroroso (13 intervenciones) el 01/02/2018 23:02:57
Utiliza
Imports System.Text.RegularExpressions

para usarlo.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gilman
Val: 594
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Quitar largos espacios en blanco en cadena

Publicado por gilman (359 intervenciones) el 02/02/2018 09:13:43
Este no es el foro de VBNet, así que, me imagino tu solución no le servirá.
Si estás programando en VB6, para usar expresiones regulares mira el siguiente enlace:
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/166-expresiones-regulares.htm
Si prefieres no usar expresiones regulares prueba el siguiente código:
1
2
3
4
5
6
7
8
9
Dim Cadena As String
    Dim CadenaAuxiliar
    Cadena = "cadena           original         con  muchos espacios"
    CadenaAuxiliar = Cadena
    Do
        Cadena = CadenaAuxiliar
        CadenaAuxiliar = Replace(Cadena, "  ", " ")
    Loop Until CadenaAuxiliar = Cadena
    Cadena = Replace(Cadena, " ", "|")
perdón no funcionará correctamente, no me había dado cuenta de que no quieres reemplazar todos los espacios por |, solo los exteriores a la cadena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gilman
Val: 594
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Quitar largos espacios en blanco en cadena

Publicado por gilman (359 intervenciones) el 02/02/2018 10:01:25
Creo que el código que necesitas es:
1
2
3
4
5
6
7
8
9
10
Dim Cadena As String
    Dim Cadenas() As String
    Dim CadenaFinal As String
    Dim i As Long
    Cadena = "-       Yashir Pinto      -         Yerson Opazo          "
    Cadenas = Split(Cadena, "-")
    For i = 1 To UBound(Cadenas)
        CadenaFinal = CadenaFinal & "-|" & Trim(Cadenas(i))
    Next i
    CadenaFinal = CadenaFinal & "|"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 15 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Quitar largos espacios en blanco en cadena

Publicado por Horroroso (13 intervenciones) el 02/02/2018 19:14:54
Si usas VB 6.0 puedes cargar la libreria:

Microsoft VBScript Regular Expressions 5.5

Si no esta registrada, puedes descargarte el dll: vbscript.dll

y registrarlo.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar