none
Agregar un Espacio en Cadena Junta

    Question

  • Hola.

    Bueno, esta pregunta es algo similiar a lo ue pregunte dias atras (de como controlar que no se ingresen mas de dos espacios), pues he querido resolver este problema pero no doy con una Solución es ciertas partes del Código de Mi Programa y estas en una de ella.

    Lo que hago es esto:

     

     Dim a As String
     Dim b() As String
     
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     For i = 0 To TextBox1.Lines.Length - 1
      b = TextBox1.Lines(i).Split(" ")
    
      For k = 0 To b.GetUpperBound(0)
      a &= b(k)
      Next
     Next
    
     End Sub
    

     

    Lo que hace es que junta de nuevo toda la Palabra, por ejemplo.

    Ingreso Foros     de                  Programación

    El código devolvería:

    ForosdeProgramación

     

    Pero Necesito que eso quede así: Foros de Programación, pero no lo he logrado

    Hay menera de Solucionarlo?


    Estudiante de Sistemas Informáticos.

    Wednesday, June 01, 2011 3:50 AM

Answers

  • hola

    no has probado algo asi

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        For Each linea As String To TextBox1.Lines
       
            Dim b() As String = linea.Split(" ")

            Dim lista As List(Of String)(b)
           
            b = lista.Where(Function(o) Not String.IsNullOrEmpty(o.Trim())).ToArray()

            a &= string.Join(" ", b)

        Next 

    End Sub

     

    Dim lista As List(Of String)(b) aqui cargo el array de string en una lista para que sea mas simple trabajarlo

    b = lista.Where(Function(o) Not String.IsNullOrEmpty(o.Trim)).ToArray()

    en esta otra linea devuelvo solo aquellas partes en dodne no sea vacio

    a &= string.Join(" ", b) al final solo lo uno dejando un espacio

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Proposed as answer by lopezatienza Wednesday, June 01, 2011 7:41 AM
    • Marked as answer by P. Mata Wednesday, June 01, 2011 9:19 PM
    Wednesday, June 01, 2011 4:38 AM
  • Hola:

    A mí la respuesta que te puse, me funciona para hacer lo que pones:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim cTmp As String = "|#&"

    a = TextBox1.Text.Replace(" ", " " & cTmp).Replace(cTmp & " ", "").Replace(cTmp,"")

    End Sub

    Si no te funciona, ¿podrias poner que te hace?

    Saludos

    • Marked as answer by P. Mata Wednesday, June 01, 2011 9:19 PM
    Wednesday, June 01, 2011 8:05 AM
  • ups olvide el New

     

    prueba usando

    Dim lista As New List(Of String)(b)

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marked as answer by P. Mata Wednesday, June 01, 2011 9:19 PM
    Wednesday, June 01, 2011 8:51 PM

All replies

  • hola

    no has probado algo asi

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        For Each linea As String To TextBox1.Lines
       
            Dim b() As String = linea.Split(" ")

            Dim lista As List(Of String)(b)
           
            b = lista.Where(Function(o) Not String.IsNullOrEmpty(o.Trim())).ToArray()

            a &= string.Join(" ", b)

        Next 

    End Sub

     

    Dim lista As List(Of String)(b) aqui cargo el array de string en una lista para que sea mas simple trabajarlo

    b = lista.Where(Function(o) Not String.IsNullOrEmpty(o.Trim)).ToArray()

    en esta otra linea devuelvo solo aquellas partes en dodne no sea vacio

    a &= string.Join(" ", b) al final solo lo uno dejando un espacio

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Proposed as answer by lopezatienza Wednesday, June 01, 2011 7:41 AM
    • Marked as answer by P. Mata Wednesday, June 01, 2011 9:19 PM
    Wednesday, June 01, 2011 4:38 AM
  • Hola:

    A mí la respuesta que te puse, me funciona para hacer lo que pones:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim cTmp As String = "|#&"

    a = TextBox1.Text.Replace(" ", " " & cTmp).Replace(cTmp & " ", "").Replace(cTmp,"")

    End Sub

    Si no te funciona, ¿podrias poner que te hace?

    Saludos

    • Marked as answer by P. Mata Wednesday, June 01, 2011 9:19 PM
    Wednesday, June 01, 2011 8:05 AM
  • Hola Leandro.

    Acabo de Probra tu Codigo y me Marca Error en esto:

     Dim lista As List(Of String)(b)

      b = lista.Where(Function(o) Not String.IsNullOrEmpty(o.Trim())).ToArray()

    y el Código de la Otra Respuesta Si Funciona pero si Agrego  Palabra,Palabra el Código mandaria esto:

    Palabra, Palabra y este es otro problemita que no soluciono, porque si se encuentran palabras que Contengan "," las deje tal y como está para Separarlas Depues.

    ya que esto me permitirá avanzar en mi Proyecto(Corrigo errores hasta el momento), pero no lo he logrado aún.


    Estudiante de Sistemas Informáticos.
    Wednesday, June 01, 2011 8:31 PM
  • ups olvide el New

     

    prueba usando

    Dim lista As New List(Of String)(b)

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marked as answer by P. Mata Wednesday, June 01, 2011 9:19 PM
    Wednesday, June 01, 2011 8:51 PM
  • Gracias Leandro.

    Lo acabo de Probrar con Las Palabras Cadena,Cadena y las deja tal y como está.

     

    Ahora una última Consulta.

    Esto es Aplicable Para Otros Lenguajes?

    porque mi proyecto lo estoy Realizando en VB.Net 2010 y Visual C++ pero no se si será "traducible" a C++.

     


    Estudiante de Sistemas Informáticos.

    Wednesday, June 01, 2011 9:06 PM
  • y esta bien alli no hay espacio dobles que quitar que es lo que habias planteado

    la idea no era que si decia

    Cadena,  Cadena

    o sea con dos espacios remueve uno de ellos ? eso es lo que deberia hacer segun lo planteado

    prueba esta cadena que es la que habias planteado

    Ingreso Foros     de                  Programación

    Cadena,Cadena es logico que no hara anda porque no le dhas dejado espacios

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, June 01, 2011 9:12 PM
  • sisisisis lo de Cadena,Cadena Esta Bien porque planteo separlas de la Coma,

    pero respecto a lo otra Pregunta... es traducible ese mismo código en Visual C++.?

     


    Estudiante de Sistemas Informáticos.
    Wednesday, June 01, 2011 9:15 PM
  • a c++ .net o a c++ clasico ?

    si es el clasico la veo complciado, porque hay tipos de datos que son muy puntuales de .net como son las listas genericas

    y el uso de la expression lambda

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, June 01, 2011 9:26 PM
  • Es C++.Net
    Estudiante de Sistemas Informáticos.
    Wednesday, June 01, 2011 9:33 PM
  • entonces si

    por ahi cambie algo la notacion

    en lugar de usar . usarias -> o algo asi

    pero si el c++.net usa el mismo framework deberia ser bastante parecido

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, June 01, 2011 9:54 PM
  • Lo de La Notación esta bien pero vreo que tendria problemas al Decalrar esto:

    Dim lista As List(Of String)(b)

    Lo demas creo que bastará cambiando la notación.

     


    Estudiante de Sistemas Informáticos.
    Wednesday, June 01, 2011 10:02 PM
  • mm si las listas genericas, la verdad no se si son soportadas en c++, la verdad conozco tan poco, pero podrias hacer una consulta en el foro de c++

    pero me extraña, pudiste convertir el lambda ? porque si eso pudiste las lista entonces deberias tambien

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, June 02, 2011 2:02 AM
  • Se me Olvido esa Parte que tú Mencionas, pero no, no las Pude Convertir así que lo dejaré en el Lenguaje VB y veré si existe otra forma para usarlo en C++

    Gracias por las Respuestas-

     

    Saludos

     


    Estudiante de Sistemas Informáticos.
    Thursday, June 02, 2011 2:08 AM