Я хотел бы найти все точные вхождения строки или близкие ее совпадения в более длинной строке в Python.< /li>
Мне также хотелось бы знать расположение этих вхождений в более длинной строке.
Чтобы определить, что такое близкое совпадение, я хотел бы чтобы установить порог, например. количество правок, если в качестве метрики используется расстояние редактирования.
Мне также хотелось бы, чтобы код выдавал оценку соответствия (тот, который, вероятно, используется для определения того, закончилась ли подстрока-кандидат порог соответствия, который я установил).
long_string = """1. Bob likes classical music very much.
2. This is classic music!
3. This is a classic musical. It has a lot of classical musics.
"""
query_string = "classical music"
Мне бы хотелось, чтобы код Python находил «классическую музыку» и, возможно, «классическую музыку», «классический мюзикл» и «классическую музыку» в зависимости от установленного мной порога соответствия строк.< /p>
Исследование: я обнаружил, что проверка нечеткой/приблизительной подстроки, существующей в более длинной строке, в Python? но вопрос фокусируется только на наилучшем совпадении (т. е. не на всех вхождениях), и ответы либо также фокусируются на наилучшем совпадении, либо не работают со строками запроса, состоящими из нескольких слов (поскольку в вопросе были только строки запроса из одного слова, или вернуть неверный результат (не получается высший балл даже для точного совпадения).
Цель: [list] [*]Я хотел бы найти все точные вхождения строки или близкие ее совпадения в более длинной строке в Python.< /li> Мне также хотелось бы знать расположение этих вхождений в более длинной строке. [*]Чтобы определить, что такое близкое совпадение, я хотел бы чтобы установить порог, например. количество правок, если в качестве метрики используется расстояние редактирования. [*]Мне также хотелось бы, чтобы код выдавал оценку соответствия (тот, который, вероятно, используется для определения того, закончилась ли подстрока-кандидат порог соответствия, который я установил). [/list] Как это сделать в Python?
Пример: [code]long_string = """1. Bob likes classical music very much. 2. This is classic music! 3. This is a classic musical. It has a lot of classical musics. """
query_string = "classical music" [/code] Мне бы хотелось, чтобы код Python находил «классическую музыку» и, возможно, «классическую музыку», «классический мюзикл» и «классическую музыку» в зависимости от установленного мной порога соответствия строк.< /p>
Исследование: я обнаружил, что проверка нечеткой/приблизительной подстроки, существующей в более длинной строке, в Python? но вопрос фокусируется только на наилучшем совпадении (т. е. не на всех вхождениях), и ответы либо также фокусируются на наилучшем совпадении, либо не работают со строками запроса, состоящими из нескольких слов (поскольку в вопросе были только строки запроса из одного слова, или вернуть неверный результат (не получается высший балл даже для точного совпадения).
Текущая реализация занимает в среднем 10-15 мс для запуска каждый раз, когда она называется (времена используя класс секундома до /после вызова. Она будет вызоваться в среднем 100 раз в минуту.
Входные данные-это строка в форме 12 значений,...
Текущая реализация занимает в среднем 10-15 мс для запуска каждый раз, когда она называется (времена используя класс секундома до /после вызова. Она будет вызоваться в среднем 100 раз в минуту.
Входные данные-это строка в форме 12 значений,...
Текущая реализация занимает в среднем 10-15 мс для запуска каждый раз, когда ее называют (времена используя класс секундома до /после вызова. Она будет вызоваться в среднем 100 раз в минуту.
Входные данные представляют собой строку в форме 12...
Текущая реализация занимает в среднем 10-15 мс для запуска каждый раз, когда ее называют (времена используя класс секундома до /после вызова. Она будет вызоваться в среднем 100 раз в минуту.
Входные данные представляют собой строку в форме 12...
Текущая реализация занимает в среднем 10-15 мс для запуска каждый раз, когда ее называют (времена используя класс секундома до /после вызова. Она будет вызоваться в среднем 100 раз в минуту.
Входные данные представляют собой строку в форме 12...