Visual Basic - Quitar largos espacios en blanco en cadena

Life is soft - evento anual de software empresarial
   
Vista:

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

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

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

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

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

Quitar largos espacios en blanco en cadena

Publicado por gilman (153 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

Quitar largos espacios en blanco en cadena

Publicado por gilman (153 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

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
Revisar política de publicidad