Visual Basic.NET - Extraer ultima palabra de una cadena

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 68 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Extraer ultima palabra de una cadena

Publicado por Ariana Milagros (6 intervenciones) el 25/05/2020 20:08:29
Hola! Tengo el siguiente problema:
Debo ingresar una cadena por teclado de al menos 3 palabras, y al imprimir la cadena debe estar invertido el orden. La ultima palabra debe quedar al lado de la primera.
Intente con replace y substring pero estas funciones se usan unicamente para cuando se sabe los caracteres que vas a extraer.

Ayuda por favor.
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Extraer ultima palabra de una cadena

Publicado por Phil Rob (1554 intervenciones) el 25/05/2020 22:21:11
Hola,

Quizá este puede te ayudar :

1
2
3
4
Dim S As String = "Este es una frase en español"
Dim UltimaPalabra As String
UltimaPalabra = S.Substring(S.LastIndexOf(" ") + 1)
MessageBox.Show(UltimaPalabra)

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

Extraer ultima palabra de una cadena

Publicado por Ariana Milagros (6 intervenciones) el 26/05/2020 02:17:15
Excelente!! pero lo que debo hacer es por escribir por teclado por ej: hola mundo cruel y el resultado debe salir hola cruel mundo. No puedo usar estructuras de control ni arrays, ahi se complica. Gracias por haber respondido!!
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Extraer ultima palabra de una cadena

Publicado por Phil Rob (1554 intervenciones) el 26/05/2020 09:00:41
Hola,

No comprendo ...

El titro de tu pregunta es "Extraer el ultima palabra ..." y con tu ejemplo, escribo 3 palabras con el teclado y el resultado es estas 3 palabras : "Hola mundo cruel" ===> "Hola mundo cruel".

En mas, dices que escribes por teclado : es esta el problema ?
En interfaz WindowsForm, utilizas TextBox y mis códigos de ayer pueden ser :
1
2
3
4
5
6
7
Dim S As String
S = ElTextBoxParaIntroducir.Text
 
Dim UltimaPalabra As String
UltimaPalabra = S.Substring(S.LastIndexOf(" ") + 1)
ElTextBoxParaMostrar.Text = UltimaPalabra
' ...
o para ejecución en "Console" :
1
2
3
4
5
6
Dim S As String
S = Console.ReadLine()
Dim UltimaPalabra As String
UltimaPalabra = S.Substring(S.LastIndexOf(" ") + 1)
Console.WriteLine(UltimaPalabra)
' ...

Si no es la ultima palabra que quieres, tienes que dar algunos ejemplos.
Si quieres todas las palabras, una al vez, podemos utilizar String.Split pero el resultado es dado en una tabla.

También, puedes enviar una parte de tu código.

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

Extraer ultima palabra de una cadena

Publicado por Ariana Milagros (6 intervenciones) el 26/05/2020 15:23:45
Gracias por volver a responder :D
Mira, mi consigna es esta:
-Crear un proyecto llamado “Cadenas” para ingresar por teclado una cadena que tenga al
menos 3 palabras y mostrar: Una cadena que tenga la última palabra después de la primera ingresada.

Mi código es este. Estuve pensando, ahora que tengo la ultima palabra, ahora debo sacar la segunda para luego despues reemplazar por Strings.Replace

1
2
3
4
5
6
7
Dim cadena, ultimaPalabra, segundaPalabra As String
 
Console.WriteLine("Ingresar cadena de 3 palabras: ")
cadena = Console.ReadLine()
 
ultimaPalabra = cadena.Substring(cadena.LastIndexOf(" ") + 1)
segundaPalabra = cadena.Substring(cadena.IndexOf(" ") + 1, cadena.IndexOf(" ") + 1)


Ahora solo debo sacar la segunda palabra, escribiendo dos veces el index of me saca la mitad de la segunda palabra. No puedo usar ningun condicional o estructura de control. Solo funciones de string.
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Extraer ultima palabra de una cadena

Publicado por Phil Rob (1554 intervenciones) el 26/05/2020 15:33:15
Comprendo que quieres enumerar todas la palabras de la ultima hasta la primera.
Trabajo en este dirección. Si no es bien, vuelves me un mensaje ..
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

Extraer ultima palabra de una cadena

Publicado por Ariana Milagros (6 intervenciones) el 26/05/2020 15:49:18
Disculpa no entendí que quisiste decir. Te dejo mi correo por las dudas [email protected] (soy de Argentina)
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Extraer ultima palabra de una cadena

Publicado por Phil Rob (1554 intervenciones) el 26/05/2020 15:56:14
Continuacion ...

Enumeracion de todas las palabras, de la ultima hasta la primera :
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim StringIniciale As String = "Este es una frase en español"  ' que viene del teclado o no, con tan de palabras que te gusta.
Dim StringDeTrabajo As String = StringIniciale  ' trabajamos con una duplica para no perder StringIniciale
Dim PalabraParaMostrar As String  ' la palabra que mostrados
Dim PosicionUltimoBlanco As Integer = StringDeTrabajo.LastIndexOf(" ")
While PosicionUltimoBlanco > -1
    PalabraParaMostrar = StringDeTrabajo.Substring(PosicionUltimoBlanco)
    StringDeTrabajo = StringDeTrabajo.Substring(0, PosicionUltimoBlanco)
    PosicionUltimoBlanco = StringDeTrabajo.LastIndexOf(" ")
    ' Aqui, utilizas cada palabra extraida de StringDeTrabajo
    MessageBox.Show(PalabraParaMostrar)   ' si no debe restar caracter blanco al incial y/o al final de la palabra, utilizas Trim : PalabraParaMostrar.Trim()
End While
' Aqui, reste una palabra en StringDeTrabajo, este es la primera de la la cadena iniciale
MessageBox.Show(StringDeTrabajo)    ' si no debe restar caracter blanco al incial y/o al final de la palabra, utilizas Trim : StringDeTrabajo.Trim()

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

Extraer ultima palabra de una cadena

Publicado por Ariana Milagros (6 intervenciones) el 26/05/2020 16:00:08
Esta increíble, muchas gracias, solo que no me permiten usar ni while ni if ni ninguna estructura para este ejercicio. Por eso intente sacar la segunda palabra con dos index of :P
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Extraer ultima palabra de una cadena

Publicado por Phil Rob (1554 intervenciones) el 26/05/2020 16:07:42
Ok jefa ! Un rato pro favor ...
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Extraer ultima palabra de una cadena

Publicado por Phil Rob (1554 intervenciones) el 26/05/2020 16:23:48
He te enviado tu pedido por correo.

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