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


Objetivo: ¿ 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

Objetivo: 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...

Perfil MP  
Objetivo: 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
Perfil MP  
Objetivo: 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

Objetivo: 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
Perfil MP  
Objetivo: 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
Objetivo: 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...

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 1.4816s (PHP: -93% SQL: 193%)
Consultas SQL: 48 - Debug off - GZIP Activado