Función Split VB.NET

Iniciado por R3Z, 3 Noviembre 2015, 21:15 PM

0 Miembros y 1 Visitante están viendo este tema.

R3Z

Hola  como estan mi gente


tengo una pregunta   sobre esta funcion quiero sacer la primera palabra de texto

ejemplo : hola como estas  la primera palabra de ese texto seria "hola"

este es mi codigo

Código (vbnet) [Seleccionar]
texbox1.Text = H.Split(" ").First

solo tengo una duda como hago  que si le doy doble espacio me sale la primera palabra

Código (vbnet) [Seleccionar]
un ejemplo espacio hola como estas que me salga "hola"

El Benjo

Hola. No sé si soy yo o si no se entiende tu pregunta. ¿Podrías formularla de forma distinta? No se entiende donde tienes el doble espacio. Si lo que buscas es eliminar los espacios en blanco al inicio entones usa LTrim() para eliminar espacios en blanco al inicio de la cadena.
www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.

R3Z

#2
tengo un textbox  con un boton


en ese boton tengo el lo siguiente

Código (vbnet) [Seleccionar]

lblprimerpalabra=textbox.text.split(" ").first



solo me encuentra la primera palabra si le doy  espacio

yo quiero que cuando le doy a la tecla espacio primero y pongo la frase "hola como estas" que me salga en lblprimerpalabra = hola

como me explico que si no es una palabra que no me la presenta en el textbox de lblprimerpalabra



Código (vbnet) [Seleccionar]
"Hola     Juan" (Hay 5 espacios)
"Hola","","","","","","Juan" Entonces hay habrian 2 palabras y descontaría cada "" que encuentre.

Eleкtro

#3
Cuesta bastante entender lo que pretendes hacer en realidad...

Si lo que quieres es eliminar espacios al principio o al final del String, entonces utiliza la función String.TrimStart o String.TrimEnd respectivamente.

Si tu intención es crear un array a partir de un string, y evitar que hayan elementos en blanco/vacíos, entonces utiliza el overload de la función String.Split que sirve precisamente para ese propósito:
Código (vbnet) [Seleccionar]
Dim words As String() = "Hola     Juan".Split({" "c}, StringSplitOptions.RemoveEmptyEntries)

El array solamente contendrá "palabras", cero elementos vacíos (espacios en blanco), por lo que puedes hacer este tipo de evaluación de forma segura:
Código (vbnet) [Seleccionar]
If (words.Any) Then
   lblprimerpalabra.txt = words.First

Else
   ' El array no contiene elementos.

End If


Saludos








R3Z

Código (vbnet) [Seleccionar]

Dim f As Integer

       For Each Palabra As String In txtOración.Text.Split(" ")
           If Not Palabra = "" Then
               f= f + 1
           End If
       Next
       lblCantPalabras.Text = Z


como hago esta funcion para encontrar la primera palabra


textbox1.text.split(" ").first  esta  funcion me encuentra la palabra despues del espacio yo lo que quiero es cuando yo le multiple espacio que me sace la primera palabra que puse  ej:"" "" "" "" "" hola como estas  lblprimer=hola



Eleкtro

Cita de: R3Z en  4 Noviembre 2015, 03:26 AMcomo hago esta funcion para encontrar la primera palabra

textbox1.text.split(" ").first  esta  funcion me encuentra la palabra despues del espacio

VUELVO A REPETIR:

Cita de: Eleкtro en  4 Noviembre 2015, 01:34 AMSi tu intención es crear un array a partir de un string, y evitar que hayan elementos en blanco/vacíos, entonces utiliza el overload de la función String.Split que sirve precisamente para ese propósito:
Código (vbnet) [Seleccionar]
Dim words As String() = "Hola     Juan".Split({" "c}, StringSplitOptions.RemoveEmptyEntries)

...
Código (vbnet) [Seleccionar]
lblprimerpalabra.txt = words.First
...

Despues, para contar la cantidad de elementos del array puedes utilizar la propiedad Count, o seguir utilizando el For Each de tu ejemplo, pero sin la necesidad de evaluar elmentos vacíos.

Saludos.








crack81

Mira este ejemplo use un form y un boton, encuentra la primera palabra haya no espacio anteriormente

Código (vbnet) [Seleccionar]
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim palabras As String

        palabras = "    HOla mundo *****"

        For Each palabra As String In palabras.Split(" ")

            If Not String.Compare(palabra, " ") Then
                MessageBox.Show(palabra)
                Exit For
            End If
        Next

    End Sub
End Class
Si C/C++ es el padre de los lenguajes entonces ASM es dios.

R3Z

#7
ahora si gracias crack






Gracias a todos lo que dieron su aporte