Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 16.07.2022
Сообщений: 42

Точная замена словосочетания по словарю

02.10.2022, 20:41. Показов 592. Ответов 0

Студворк — интернет-сервис помощи студентам
Подскажите как сделать точную замену словосочетания по словарю? По единичному слову работает.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import re
import pickle
import json
 
d1 = { 'юзер': 'пользователь'}
d = {}
 
 
with open('dic.json', 'r', encoding = 'utf-8') as fh:  # открываем файл на чтение. внешний словарь
 dict = json.load(fh)
d = {**dict,**d1}
 
text = "Система использует код юзер, Система использует код юзеров. Достигнув вершин мастерства, пожилой профессиональный убийца задумался об окончании карьеры и о том, чем займётся, отойдя от дел, стал строить планы, однако сбыться им было не суждено.  "
 
 
def replace_func(match):
 word = match.group(1)
 return d.get(word.lower(), word)
 
 
text = re.sub(r'(\w+)', replace_func, text)
print(text)
print(d)
Добавлено через 1 час 21 минуту
После нескольких часов нашел модуль flashtext Он делает все что нужно пример с внешним славарем

Python
1
2
3
4
5
6
7
8
9
rom flashtext import KeywordProcessor
keyword_processor = KeywordProcessor()
# keyword_processor.add_keyword(<unclean name>, <standardised name>)
i='I love Big Apple and new delhi. Привет мы встретились. Конец слова  Конец проги'
keyword_processor.add_keyword_from_file('keywords.txt')
keyword_processor.add_keyword('New Delhi', 'NCR region')
new_sentence = keyword_processor.replace_keywords(i)
 
print (i,'\n',new_sentence)
вывод:

Python
1
2
I love Big Apple and new delhi. Привет мы встретились. Конец слова  Конец проги
 I love Big Apple and NCR region. Ура я работаю мы встретились. АБЗАЦ  Конец проги
keywords.txt

Python
1
2
Привет=>Ура я работаю
Конец слова=>АБЗАЦ
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.10.2022, 20:41
Ответы с готовыми решениями:

Точная замена ссылки
есть такая проблема есть сыдка в переменной $l есть html код в $buf заменяю все слки равные $l в $buf вот так Код: $buf=str_replace...

Выявлено, что в тексте пропущены некоторые слова и словосочетания. Эти слова и словосочетания заданы отдельным списком в том порядке, в котором они до
Выявлено, что в тексте пропущены некоторые слова и словосочетания. Эти слова и словосочетания заданы отдельным списком в том порядке, в...

str_replace "точная" замена слов
Добрый день(ночь) Такая проблема, есть большой текст в котором надо заменить определенные слова,на ссылки. Мне подсказали использовать...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.10.2022, 20:41
Помогаю со студенческими работами здесь

Точная сдача
У покупателя есть n монет достоинством H1, …,  Hn, а у продавца есть m монет достоинством B1, …,  Bm. Может ли покупатель...

Точная дробь
Для заданных натуральных чисел N и M (1 ≤ N, M ≤ 1000) вычислить дробь N/M с точностью до 25 знаков после запятой.

Точная P-ая степень
Точная P-ая степень Число x является точным квадратом, если для некотого целого b, x = b2. Аналогично x является точным кубом, если для...

Точная временная задержка
Появилась необходимость задать в программе точную временную задержку 1 мс., которая была бы одинакова на любом компьютере, не зависимо от...

Точная высота символа
Как узнать точную высоту символа? Насколько я понимаю DrawText c флагом DT_CALCRECT или GetTextExtentPoint32 дают размер строки исходя из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru