Comentarios |
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
tincho escribió: Hola a todos.
Alguien sabe como contar la cantidad de veces que se repite una cadena dentro de otra?
Podría anidar instr pero ¿No hay una función nativa que haga esto?
Saludos.
|
v3ctor [ Sabado, 02 May 2020, 04:49 ]
|
|
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
Si, lo simple es bueno, aunque yo lo compactaria a:
|
tercoIDE [ Sabado, 02 May 2020, 12:32 ]
|
|
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
Solo por curiosidad señalo esta manera tambien con función externa:
pagina del wiki italiano
última edición por vuott el Sabado, 02 May 2020, 13:57; editado 1 vez
|
vuott [ Sabado, 02 May 2020, 13:55 ]
|
|
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
Gracias a todos.
Ayer el la desesperación de la madrugada por hacer que funcione use esto:
En fin, otra opción.
Saludos.
|
tincho [ Sabado, 02 May 2020, 14:44 ]
|
|
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
tincho escribió: En fin, otra opción.
Eh, sì, varias.
Por ejemplo, creando una función externa:
Library "/tmp/lib_Occorrenze"
' int Occorrenze(const char *stringa, const char *substr)
' Ritorna il numero di occorrenze di una sottostringa all'interno di una stringa.
Private Extern Occorrenze(stringa As String, substr As String) As Integer
Public Sub Main()
Dim s, su As String
Dim i As Integer
' Va a generare l'apposita libreria dinamica condivisa esterna:
CreaSo()
' La stringa è la seguente:
s = "mela pera arancia limone pera banana noce mela fico pera noce"
' La sottostringa di cui conoscere il numero di occorrenze:
su = "pera"
i = Occorrenze(s, su)
Print "Numero occorrenze della sottostringa '"; su; "': "; i
End
Private Procedure CreaSo()
' Imposta il sorgente della libreria dinamica condivisa esterna:
File.Save("/tmp/lib_Occorrenze.c", "#include <string.h>" &
"\n\n" &
"int Occorrenze(const char *stringa, const char *substr) {" &
"\n\n" &
" int i = 0;" &
"\n\n" &
" do {\n" &
" if (stringa = strstr (stringa, substr)) {;\n" &
" ++stringa;\n" &
" ++i;\n" &
" }" &
"\n } while (stringa);" &
"\n\n return i;\n\n}")
' Genera la libreria dinamica condivisa esterna:
Shell "gcc -o /tmp/lib_Occorrenze.so /tmp/lib_Occorrenze.c -shared -fPIC" Wait
End
última edición por vuott el Lunes, 11 May 2020, 16:41; editado 1 vez
|
vuott [ Sabado, 02 May 2020, 15:59 ]
|
|
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
creo que tu codigo tiene virus, Vuott
|
tercoIDE [ Sabado, 02 May 2020, 22:10 ]
|
|
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
tercoIDE:
Citar:
creo que tu codigo tiene virus, Vuott
Son cosas del lenguaje "C"..que lo trae por la calle de la amargura..jejeje.
Saludos
|
Shell [ Sabado, 02 May 2020, 22:14 ]
|
|
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
Creo que las opciones que propone Vuott de C son la opción a usar en caso de grandes cantidades de datos por ejemplo al contar las palabras de un libro supongo que C siempre es mas eficiente que gambas.
Tal vez la futura String.Count()
Saludos.
|
tincho [ Sabado, 02 May 2020, 23:45 ]
|
|
Re: Cuantas Veces Se Repite Una Cadena En Otra.
|
tercoIDE escribió: creo que tu codigo tiene virus, Vuott
Virus
Veneni.
|
vuott [ Sabado, 02 May 2020, 23:46 ]
|
|
|