Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ?

¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ?
Artículo
Responder citando    Descargar mensaje  
Mensaje ¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ? 
 
Buenas!.

Os estaréis acordando de Listbox al nombrar la propiedad "index".

Estoy repasando algo en Python con los indices en las cadenas para mostrar algo parecido en Gambas.

Aunque no lo veo muy viable. La propiedad index mostraría la "primera coincidencia", cosa muy justa, ya que
el carácter, cadena se puede repetir. Quiero decir, que si tuviéramos una cadena, se podría decir
con index que lugar ocupa dentro de la cadena un carácter. Al igual que un array ( de esto no me acuerdo si existe, creo que no ),
es más parecido a cosas del Listbox.

Cuando jugamos con cadenas, creo que seria más cómodo decir hasta el lugar que se encuentra "n" que el uso de números.
Pero claro y si hay más "enes"...de poco valdría. Bueno, se podría hacer cálculos.

De nuevo bucles...

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Jueves, 20 Septiembre 2018, 14:11 ]
 


¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ?
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: ¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ? 
 
La función instr tiene tres parámetros. El tercero sirve de el index que tú mencionas... más o menos...



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Jueves, 20 Septiembre 2018, 15:52 ]
Responder citando    Descargar mensaje  
Mensaje Re: ¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ? 
 
Shell escribió: [Ver mensaje]
Al igual que un array ( de esto no me acuerdo si existe, creo que no )


Es el Método " .Find( ) " del objeto Array.

Exemplum:
phttp://gambaswiki.org/wiki/comp/gb/string[]/find



 
última edición por vuott el Jueves, 20 Septiembre 2018, 17:45; editado 4 veces 
vuott - Ver perfil del usuario Enviar mensaje privado  
vuott [ Jueves, 20 Septiembre 2018, 17:35 ]
Responder citando    Descargar mensaje  
Mensaje Re: ¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ? 
 
Shordi:

Citar:

La función instr tiene tres parámetros. El tercero sirve de el index que tú mencionas... más o menos...


Es algo que he usado y no recordaba cuando pregunté.  

Tenemos tanto para que busque por el comienzo: Instr
Como para que busque desde el final: RInstr

Ahora bien. ¿ Qué pasa si se repite más de una vez el carácter en la cadena  ?..  

Public Sub Main()
  
  Dim cadena As String
  Dim posiciones As Integer[]
  
  cadena = "palabra"
  
  posiciones = ObtenerIndicesCaracterEnCadena(cadena, "a")
  
End

Public Function ObtenerIndicesCaracterEnCadena(cadena As String, letra As String) As Integer[] ''Obtiene los indices de un caracter que se repite en una cadena
  
  Dim indices As New Integer[]
  Dim posicion As Integer
  
  posicion = InStr(cadena, letra)    
  While posicion > 0 And posicion <= String.Len(cadena)
    indices.Add(posicion)      
    posicion = InStr(cadena, letra, posicion + 1)
  Wend    
  Return indices
  
End
 


Resultado:
Citar:

[ 2, 4, 7 ]


Vuott:

Citar:

Es el Método " .Find( ) " del objeto Array.


Y al igual se puede hacer un ejemplo similar al de arriba pero en un array de cadenas.

Son olvidos que tengo. Bueno esta recordarlo. Y bueno seria que tengamos ejemplos nuestros con estas cosas.  

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Viernes, 21 Septiembre 2018, 00:47 ]
Responder citando    Descargar mensaje  
Mensaje Re: ¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ? 
 
Dice Benoit:
Citar:
Hola,

Desde el último commit, permití que las cadenas se usaran como objetos.

Este no es azúcar sintáctico, ya que está completamente implementado en el
Interprete.

Entonces, si S es una cadena, puedes hacer lo siguiente:

S [N] para obtener el carácter N-ésimo de la cadena. ¡Tener cuidado! Al contrario de las
subrutinas String, la primera posición de personaje es cero. Es como usar el
cadena como una matriz de caracteres.

S [N, L] es un equivalente de Mid $ (S, N + 1, L).

S.Len devuelve la longitud de la cadena.

S [] solo trata con la posición de bytes, no puede manejar UTF-8.

Esa nueva sintaxis es más lenta que llamar directamente a Mid $ () y Len (), pero yo
no creas que notaremos la diferencia.

Tal vez agregue una propiedad S.Max para devolver la longitud menos uno, pero
No creo que implemente todas las rutinas de cadenas como métodos de objetos.

O sea, que ahora sí tienes lo que querías, Shell...



 
última edición por shordi el Domingo, 23 Septiembre 2018, 09:50; editado 1 vez 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Domingo, 23 Septiembre 2018, 09:49 ]
Responder citando    Descargar mensaje  
Mensaje Re: ¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ? 
 
Shordi:

Citar:

O sea, que ahora sí tienes lo que querías, Shell...


 144amarillos_1537704054_271556

Entonces, ¿ puede que veamos esto en la próxima versión ?.
Vaya cambio!.  

Gracias por molestarte en traducir y mostrar la información.

Saludos



 
última edición por Shell el Domingo, 23 Septiembre 2018, 13:09; editado 1 vez 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Domingo, 23 Septiembre 2018, 13:08 ]
Responder citando    Descargar mensaje  
Mensaje Re: ¿ Existe Una Propiedad Como "index" En Cadenas O Arrays ? 
 
Shell escribió: [Ver mensaje]
Shordi:

Citar:

O sea, que ahora sí tienes lo que querías, Shell...


 144amarillos_1537704054_271556

Entonces, ¿ puede que veamos esto en la próxima versión ?.
Vaya cambio!.  

Gracias por molestarte en traducir y mostrar la información.

Saludos


Las gracias al traductor de google...      



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Domingo, 23 Septiembre 2018, 13:12 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron