Hola a todos!!
Les queria pedir una ayudita basica ya que no manejo mucho estelenguaje y tengo que hacer un trabajo (trabajo en Python). Aqui va:
1°) Tengo un textbox con texto y quiero hacer un split para que me añada cada palabra del textbox a una lista.
textbox.text = "hola como te va"
lista = {"hola", "como", "te", "va"}
2°) Buscar EN QUE POSICION está cierta palabra en la lista. Ejemplo:
lista = {"a1", "b2", "c3"}
posicion = lista.find(b2) --> probe con indexof pero index me dice la posicion en la str. En este caso me devuelve 0 pero yo quiero que me diga que esta EN LA POSICION DE LA LISTA, no de la str.
msgbox(posicion) --> salga 1 (la cuenta comienza en 0)
3°) Buscar valor por posicion
lista = {"a1", "b2", "c3"}
valor = lista[1] --> la cuenta comienza del 0 por lo tanto que me devuelva b2.
Realmente agradeceria la ayuda!! Muchas gracias!
Hola. En el foro de programación hay unas normas, debes usar las etiquetas
GeShi para insertar código.
Cita de: igustin10 en 21 Diciembre 2016, 06:44 AM1°) Tengo un textbox con texto y quiero hacer un split para que me añada cada palabra del textbox a una lista.
textbox.text = "hola como te va"
lista = {"hola", "como", "te", "va"}
Puedes usar la función
String.Split() para crear un
Array, y seguidamente la extensión de método
Enumerable.ToList() para convertirlo a una
Lista:
Dim str As String = "Hello World"
Dim lst As List(Of String) = str.Split(" "c).ToList()
- String.Split() - MSDN (https://msdn.microsoft.com/en-us/library/system.string.split%28v=vs.110%29.aspx)
- Enumerable.ToList(Of T) - MSDN (https://msdn.microsoft.com/en-us/library/bb342261%28v=vs.100%29.aspx)
Cita de: igustin10 en 21 Diciembre 2016, 06:44 AM
2°) Buscar EN QUE POSICION está cierta palabra en la lista. Ejemplo:
lista = {"a1", "b2", "c3"}
posicion = lista.find(b2) --> probe con indexof pero index me dice la posicion en la str. En este caso me devuelve 0 pero yo quiero que me diga que esta EN LA POSICION DE LA LISTA, no de la str.
msgbox(posicion) --> salga 1 (la cuenta comienza en 0)
Puedes usar la función
List.IndexOf() y
List.FindIndex() dependiendo de tus necesidades:
Dim lst As New List(Of String) From {"Hello", "World"}
Dim idx As Integer = lst.IndexOf("Hello") ' Case Sensitive
Dim idx As Integer = lst.FindIndex(Function(s As String) s.Equals("HELLo", StringComparison.OrdinalIgnoreCase)) ' Ignore Case
- List(Of T).IndexOf() - MSDN (https://msdn.microsoft.com/en-us/library/8bd0tetb%28v=vs.110%29.aspx)
- List(Of T).FindIndex() - MSDN (https://msdn.microsoft.com/en-us/library/0k601hd9%28v=vs.110%29.aspx)
Cita de: igustin10 en 21 Diciembre 2016, 06:44 AM3°) Buscar valor por posicion
lista = {"a1", "b2", "c3"}
valor = lista[1] --> la cuenta comienza del 0 por lo tanto que me devuelva b2.
Simplemente reemplaza los corchetes
[...] por paréntesis
(...):
Dim lst As New List(Of String) From {"Hello", "World"}
Dim itm As String = lst(0)
O también:
Dim item As String = lst.Item(0)
¡Saludos!
Muchisimas gracias Elektro por tu respuesta!!
Quedo todo solucionado, un genio!! :D :D
Saludos,
Igustin!