1
Мне нужно выполнить нечеткий поиск подстроки в строке и заменить эту часть. Например:Python нечеткий поиск и замена
str_a = "Alabama"
str_b = "REPLACED"
orig_str = "Flabama is a state located in the southeastern region of the United States."
print(fuzzy_replace(str_a, str_b, orig_str)) # fuzzy_replace code should be implemented
# Output: REPLACED is a state located in the southeastern region of the United States.
сам поиск просто с fuzzywuzzy модулем, но это дает мне только отношение разницы между строками. Есть ли способ найти позицию в исходной строке, где нечеткие совпадения соответствуют?
Будет ли это всегда одно слово? Если да, мы можем разделить пространство и заменить его, если желаемое соотношение пройдено. – nehemiah
@itsneo Хорошая идея, но она может содержать пробелы :( – svfat
Давайте подделывать еще больше ... Скажем, у нас есть строка для замены 'str_a =" Алабама - это «', которая имеет три слова. Теперь повторите процедуру 'orig_str' с 'len (str_a)' словами. Я имею в виду, беру 3 за раз и перебираю его до конца, что будет сложнее O (n). Теперь замените, если отношение пройдет. – nehemiah