Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra. 
 
Hola a todos.
Pues eso, alguna función existente que haga eso?


Saludos
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra. 
 
tincho

Creo que no existe, pero he encontrado este comando:

$ fgrep -o ">" file.fas | wc -l

Esta es la entrada donde aparece:
https://bioinformatiquillo.wordpres...o-con-fgrep-wc/

Mas información, pero esta vez usando grep:

grep -c “palabra” logfile.txt

https://paraisolinux.com/10-usos-para-grep/
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Miercoles, 14 Noviembre 2018, 08:16; editado 2 veces 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra. 
 
Tengo hecha ésta:

Public Sub cuentacadenas(cad As String, pattern As String) As Integer
    
    Dim n, i As Integer

    While True
        n = InStr(cad, pattern, n)
        If n = 0 Then Break
        Inc i
        n += Len(pattern)
    Wend
    Return i
    
End

 




===================
No podemos regresar
 
última edición por shordi el Miercoles, 14 Noviembre 2018, 09:53; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra. 
 
jsbsan escribió: [Ver mensaje]
...Creo que no existe, pero he encontrado este comando:...

Me lo apunto, muy interesante para conteo de palabras y lo de irrelevantes o relevantes que viene a ser? habrá que probarlo.
De momento no doy con la solución en los términos del titulo del post, pero encontré otra manera de hacerlo.
El problema que deseaba solucionar era que en el texto que extraigo del ID3 de un mp3 algunos frames [1] se repetían. y usaba una función que se basaba en que ninguno debía hacerlo (error de diseño por mi parte) y se me ocurrió una solución en la que debía saber si se repetían y ademas en que posición se encontraban todas las ocurrencias.
Finalmente modifique la función usando un Replace antes y listo.

[1] Un frame por ejemplo es: TALB para el álbum TPE1 para el artista TRCK para el número de track, etc.

Si bien solucione el problema, me gustaría saber si existe una función que haga el conteo y listado de repeticiones de una palabra que se pasa como parámetro.
Tal vez la haga en un futuro próxima si no la encuentro.

Saludos.
 



 
última edición por tincho el Miercoles, 14 Noviembre 2018, 10:05; editado 1 vez 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra. 
 
Citar:

Si bien solucione el problema, me gustaría saber si existe una función que haga el conteo y listado de repeticiones de una palabra que se pasa como parámetro.
Tal vez la haga en un futuro próxima si no la encuentro.


Modificando la que te he pasado es muy sencillo, en lugar de simplemente devolver el valor de i, almacena el valor de n en un array y devuelve el array. Algo así:

ublic Sub cuentacadenas(cad As String, pattern As String) As Integer[]

Dim n As Integer
dim ar as new integer[]

While True
n = InStr(cad, pattern, n)
If n = 0 Then Break
ar.Add(n)
n += Len(pattern)
Wend
Return ar

End

 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra. 
 
shordi escribió: [Ver mensaje]
Tengo hecha ésta:

Que te parece así?
Public Function StringRep(str As String, strPattern As String) As Integer[] '' Funcion que cuenta ocurencias de una cadena de texto en otra y lista las posiciones de esta en una matriz de enteros.

  Dim n As Integer
  Dim inx As New Integer[]

  While True
    n = InStr(str, strPattern, n)
    If n = 0 Then Break
    inx.Add(n)
    n += Len(strPattern)
  Wend
  Return inx

End
 

 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra. 
 
jajaja, nos estamos cruzando una y otra vez las respuestas...
       
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Funcion Que Liste Todas Las Veces Que Una Cadena Se Encuentre En Otra. 
 
shordi escribió: [Ver mensaje]
jajaja, nos estamos cruzando una y otra vez las respuestas...
       

Jaja, si.
Bueno lo importante es que hay una función mas en la "caja de herramientas"

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Busco Función Para Saber El Número De Ve... sc0w General 1 Lunes, 08 Marzo 2010, 07:50 Ver último mensaje
alexprox
No hay nuevos mensajes ¿ Una Cadena Vacía Es Una Subcadena De C... Shell General 2 Jueves, 07 Agosto 2014, 14:01 Ver último mensaje
Shell
No hay nuevos mensajes ¿ Qué Ocupa Más ?. ¿ Array De Cadena O... Shell General 17 Jueves, 26 Noviembre 2015, 09:49 Ver último mensaje
Shell
No hay nuevos mensajes Cuantas Veces Se Repite Una Cadena En Otra. tincho Aplicaciones/Fragmentos de Código 27 Lunes, 11 May 2020, 15:59 Ver último mensaje
vuott
 

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


 
Lista de permisos
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



  

 

cron