none
Trim inteligente RRS feed

  • Pregunta

  • Hola gente!

    Ante todo, gracias por la ayuda brindada, siempre al grano!

    Hoy vengo con una consulta nueva, y es; necesito realizar un trim en un textbox que contiene 2 datos, pero sin contar los caracteres, que sea inteligente y que salte al otro dato cuando detecta un espacio.

    El textbox en cuestión contiene nombre y apellido, y puesto que esos datos no siempre son los mismos, se tiene que cortar al detectar el espacio y no al contar caracteres.

    Antes usaba esto: 

    Dim servidor As String = txttrim.Text.Substring(193, 24).Trim
    Dim base As String = txttrim.Text.Substring(162, 18).Trim

    Pero como decía, en este caso no puedo contar los caracteres.

    Desde ya agradezco cualquier ayuda que me puedan brindar.

    Saludos!

    jueves, 2 de marzo de 2017 13:26

Respuestas

  • Puedes hacer un Split del contenido del textbox usando un espacio como separador. Esto te crea un array de String() en cada posición tienes una cadena. El problema vendrá luego dado cómo tratar esos datos, me explico. Si tienes un nombre compuesto ej: José Luis Martín, el apellido sería la posición 2 del array (la última) Pero si tienes por ejemplo en tu textbox José Luis Martín Pérez tendrás un array de 4 posiciones.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    jueves, 2 de marzo de 2017 14:36
  • Muchas gracias Sergio!

    No tenía muy en claro el uso de Split ya que lo que se de vb.net lo he aprendido gracias a personas como vos.

    Lo solucioné de la siguiente manera:

    Dim array() As String = txtbuscar.Text.Split(" ")
    frmhistorias.txtflag.Text = "buscador"
    frmhistorias.txtnombre1.Text = array(0)
    frmhistorias.txtapellido1.Text = array(1)
    frmhistorias.ShowDialog()
    Muchas gracias!

    viernes, 3 de marzo de 2017 13:30

Todas las respuestas

  • Hola, la verdad no entiendo muy bien tu problema. puedes poner un ejemplo de entrada de datos y de como debe ser la salida del método?

    gracias


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    jueves, 2 de marzo de 2017 13:52
  • Ante todo gracias por responder.

    El tema es así: tengo un textbox que contiene nombre y apellido, ej: Juan Perez

    Necesito pasar ese "Juan Perez" a otro form, en el cual hay un textbox para el nombre y otro para el apellido.

    Como los nombres son distintos y por ende la cantidad de caracteres cambia (mayor o menor), no puedo usar el trim que usaba antes donde contaba los caracteres, lo almacenaba en una variable y luego la usaba.

    El textbox inicial donde se encuentra el nombre junto al apellido debe ser cortado en el espacio del medio.

    Cualquier sugerencia estaré agradecido.

    jueves, 2 de marzo de 2017 14:21
  • Puedes hacer un Split del contenido del textbox usando un espacio como separador. Esto te crea un array de String() en cada posición tienes una cadena. El problema vendrá luego dado cómo tratar esos datos, me explico. Si tienes un nombre compuesto ej: José Luis Martín, el apellido sería la posición 2 del array (la última) Pero si tienes por ejemplo en tu textbox José Luis Martín Pérez tendrás un array de 4 posiciones.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    jueves, 2 de marzo de 2017 14:36
  • Muchas gracias Sergio!

    No tenía muy en claro el uso de Split ya que lo que se de vb.net lo he aprendido gracias a personas como vos.

    Lo solucioné de la siguiente manera:

    Dim array() As String = txtbuscar.Text.Split(" ")
    frmhistorias.txtflag.Text = "buscador"
    frmhistorias.txtnombre1.Text = array(0)
    frmhistorias.txtapellido1.Text = array(1)
    frmhistorias.ShowDialog()
    Muchas gracias!

    viernes, 3 de marzo de 2017 13:30