separar por espacio

07/09/2004 - 08:31 por Jordi Maycas | Informe spam
Hola, tengo una cadena y me gustaria saber como conseguir la primera
palabra, es decir:

cadena="mov ax,bx"

palabra="mov"

Gracias

PD: Y ya puestos como podria separar tambien ax y bx

Preguntas similare

Leer las respuestas

#1 Jordi Maycas
07/09/2004 - 08:49 | Informe spam
he probado asi, pero no tira...

Function obten_instruccion(cadena)
Dim contador As Integer
Dim instruccion As String
contador = 0
While contador < Len(cadena)
If cadena(contador) <> " " Then
contador = contador + 1
End If
Wend
instruccion = Mid(cadena, 0, contador)
Text2.Text = instruccion

"Jordi Maycas" escribió en el mensaje
news:%
Hola, tengo una cadena y me gustaria saber como conseguir la primera
palabra, es decir:

cadena="mov ax,bx"

palabra="mov"

Gracias

PD: Y ya puestos como podria separar tambien ax y bx



Respuesta Responder a este mensaje
#2 Eduardo A. Morcillo [MS MVP VB]
07/09/2004 - 09:09 | Informe spam
Para hacerlo todo en uno lo mas ¿facil? es usar una expresion regular:

Dim match As match
match = Regex.Match("mov ax, bx", "^(\w+)\s*(\w+)\s*,\s*(\w+)$",
RegexOptions.Singleline)

If match.Success Then
Console.Write(match.Groups(1).Value) ' MOV
Console.Write(match.Groups(2).Value) ' AX
Console.Write(match.Groups(3).Value) ' BX
Else
Console.Write("La cadena no tiene el formato esperado")
End If

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#3 Jordi Maycas
07/09/2004 - 09:29 | Informe spam
genial, gracias

"Eduardo A. Morcillo [MS MVP VB]" <emorcilloATmvps.org> escribió en el
mensaje news:
Para hacerlo todo en uno lo mas ¿facil? es usar una expresion regular:

Dim match As match
match = Regex.Match("mov ax, bx", "^(\w+)\s*(\w+)\s*,\s*(\w+)$",
RegexOptions.Singleline)

If match.Success Then
Console.Write(match.Groups(1).Value) ' MOV
Console.Write(match.Groups(2).Value) ' AX
Console.Write(match.Groups(3).Value) ' BX
Else
Console.Write("La cadena no tiene el formato esperado")
End If

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


Respuesta Responder a este mensaje
#4 Lázaro
07/09/2004 - 10:18 | Informe spam
Ha un split, te creará un array donde cada elemento del mismo es una de las
palabras.
Dim Words() As String
Dim Frase As String = "mov ax,bx"

Words = Frase.Split()

Words(0) tendrá "mov"
Words(1) tendrá "ax,bx"

Puedes elegir el caracter en uno de los constructores del split.

Salu2

"Jordi Maycas" wrote in message
news:#
Hola, tengo una cadena y me gustaria saber como conseguir la primera
palabra, es decir:

cadena="mov ax,bx"

palabra="mov"

Gracias

PD: Y ya puestos como podria separar tambien ax y bx



Respuesta Responder a este mensaje
#5 J. Carlos Herrero
07/09/2004 - 20:26 | Informe spam
Eduardo A. Morcillo [MS MVP VB] wrote:
Para hacerlo todo en uno lo mas ¿facil? es usar una expresion regular:

Dim match As match
match = Regex.Match("mov ax, bx", "^(\w+)\s*(\w+)\s*,\s*(\w+)$",
RegexOptions.Singleline)

If match.Success Then
Console.Write(match.Groups(1).Value) ' MOV
Console.Write(match.Groups(2).Value) ' AX
Console.Write(match.Groups(3).Value) ' BX
Else
Console.Write("La cadena no tiene el formato esperado")
End If



Hola:

¿Como se sabe el número de palabras que
contiene la frase? (En el ejemplo 3)
Un saludo:
Carlos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida