Autor
|
Tema: [?] Python - String Matching (Leído 7,533 veces)
|
h0oke
Desconectado
Mensajes: 2.059
Coder ~
|
Qué métodos conocen en python para búsquedas de strings, se que existe "find e index" pero estos solo encuentran la primera ocurrencia. Quisiera saber si es que existen otros métodos.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Básicamente son esas, pero eso ocurre en casi todos los lenguajes, la función find te devuelve la primera coincidencia (también esta rfind), para obtener un array (lista) con las coincidencias debes de hacerlo de manera recursiva o con un loop .. buscas .. encuentras .. y vuelves a buscar tomando como inicio la coincidencia anterior, esto hasta que ya no encuentres nada Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
h0oke
Desconectado
Mensajes: 2.059
Coder ~
|
Gracias, no conocía esa función, y creo que me sirve para encontrar luego de ello la máxima coincidencia y la mínima.
Un saludo!
|
|
|
En línea
|
|
|
|
h0oke
Desconectado
Mensajes: 2.059
Coder ~
|
Hola Novlucker, una librería muy útil : "re module" "Regular Expression Operations".
Un saludo!
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Claro que si ... pero es que para algo tan sencillo como buscar una misma palabra en una cadena me es "demasiado" hacer uso del modulo re, diferente sería si necesitas buscar palabras cuya "estructura" sea "X", donde el valor de "X" no es constante, lo que tu búscas se soluciona con una función simple
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
h0oke
Desconectado
Mensajes: 2.059
Coder ~
|
Mmm, te explico lo que necesito hacer, te doy un ejemplo:
Cadena1 = "HOLA PEREZ JUAN" Cadena2 = "ADIOS HOL ADIOS ADIOS"
La función debería devolver, (6,4). Es decir que necesecito encontrar la máxima coincidencia posible entre dos cadenas, pero siendo que en la cadena1 lo debo tener en cuenta desde el inicio, es decir desde la posición "0".
Tu como lo implementarías?
Lo que intento hacer es evadir la búsqueda por complejidad de n², que sería una búsqueda lineal, quiero tratar de hacerlo lo más eficiente posible.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Pero es que así como lo tienes solo se me ocurre de manera líneal, además de que debes de comparar caracteres y no fragmentos de texto, dado que tu en la Cadena1 tienes un texto dado, pero comparas ese texto dado teniendo en cuenta espacios en medio .. lo que se me ocurre es con un loop ignorando espacios (pero seguro que esto también se te ha ocurrido), salvo que estes buscando un espacio
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
h0oke
Desconectado
Mensajes: 2.059
Coder ~
|
Exacto, eso último es lo que se me había ocurrido. Entonces al parecer no hay otra manera, aunque alguna vez me recomendaron suffix trix, pero todavía no llego a interpretar cual era su fin dentro de esto. También me recomendaron utilizar diccionarios, en esto último me encuentro. Gracias
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Justamente tiene que ver con la búsqueda de cadenas ...
Mirate aquí :http://marknelson.us/1996/08/01/suffix-trees/
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
h0oke
Desconectado
Mensajes: 2.059
Coder ~
|
Gracias por la info Novlucker!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Alacenar numero de string en variable [python]
Scripting
|
Ricardo95
|
2
|
3,578
|
9 Abril 2011, 23:11 pm
por Novlucker
|
|
|
RegExp Numero de string [Python]
Scripting
|
Ricardo95
|
1
|
3,647
|
15 Abril 2011, 00:46 am
por Novlucker
|
|
|
[PYTHON]Localizar string
Python
|
.:UND3R:.
|
3
|
2,374
|
5 Abril 2015, 05:24 am
por .:UND3R:.
|
|
|
Quitar comillas de un string - python
Scripting
|
painpills
|
1
|
3,066
|
23 Junio 2021, 19:23 pm
por Danielㅤ
|
|
|
Dado string, retornar true si hay uno o más pares de paréntesis [PYTHON]
Scripting
|
Panic0
|
5
|
3,284
|
1 Febrero 2022, 01:23 am
por MinusFour
|
|