Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16

Замена букв английских букв в слове русскими

14.03.2024, 00:45. Показов 4443. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, подскажите, куда копать... простейшая вроде задача...
но не могу понять, с чего начать

есть файл, текстовый, смешанный - там всё, и русские и английские слова разделенные пробелом и т.п.
задача
в русских словах, найти букву подставленную на аналогично выглядящую но английского словаря

может есть готовые решения?

Спасибо!

(файлы большие, по 50-100 мегабайт) текста
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2024, 00:45
Ответы с готовыми решениями:

Замена всех букв в слове: нужно доработать
Составьте программу, позволяющую проверить, есть ли в слове буква "б". Если есть, последняя из них должна заменяться буквой "а". ...

Определить, сколько в заданном тексте русских букв, английских букв, цифр и разделителей. Текст задан в файле input.txt
Определить, сколько в заданном тексте русских букв, английских букв, цифр и разделителей. Текст задан в файле input.txt. Результат записать...

Замена английских букв русскими согласно каждой клавише
Вот я хотел заменить все англиские а на русские ф ну и впринципе дальше проделать со всеми буквами тоже самое только что-то он так не хочет...

29
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6331 / 3063 / 1054
Регистрация: 01.06.2021
Сообщений: 11,698
15.03.2024, 15:46
Студворк — интернет-сервис помощи студентам
Полагаю, что с заменой латинских букв на похожие кириллические тут всем понятно, особых трудностей в этом не будет.

Но вопрос в том, как определить, какое слово русское, чтобы не проводить замены в английских словах?
По-простому, можно подразумевать под русским словом любое слово, которое состоит хотя бы из одной кириллической буквы. Но в таком случае в английских словах не должно быть кириллических букв, однако, условие ТС не дает такой гарантии.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
15.03.2024, 15:56
Цитата Сообщение от Royal_X Посмотреть сообщение
Но вопрос в том, как определить, какое слово русское, чтобы не проводить замены в английских словах?
По количеству букв. Больше русских букв - значит, всё слово русское.

А вот если не найдётся буква для замены (например, слово "Тгiхiе"), то лучше слово вообще не трогать.
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
15.03.2024, 16:18
Цитата Сообщение от Royal_X Посмотреть сообщение
под русским словом любое слово, которое состоит хотя бы из одной кириллической буквы.
ДухLESS - это какое слово?

Добавлено через 46 секунд
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Больше русских букв - значит, всё слово русское.
Вот какое оно, слово выше?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
15.03.2024, 16:18
Цитата Сообщение от YuS_2 Посмотреть сообщение
Вот какое оно, слово выше?
Букву s заменить нельзя, значит, нерусское.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6331 / 3063 / 1054
Регистрация: 01.06.2021
Сообщений: 11,698
15.03.2024, 16:28
Цитата Сообщение от YuS_2 Посмотреть сообщение
ДухLESS - это какое слово?
По предложенному выше правилу
Цитата Сообщение от Royal_X Посмотреть сообщение
По-простому, можно подразумевать под русским словом любое слово, которое состоит хотя бы из одной кириллической буквы. Но в таком случае в английских словах не должно быть кириллических букв, однако, условие ТС не дает такой гарантии.
это русское слово. Соответственно, нужно пытаться заменить латинские буквы на кириллические. Если после замен остается хотя бы одна латинская буква, то значит слово оставляем, как оно было.

Добавлено через 2 минуты
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
По количеству букв. Больше русских букв - значит, всё слово русское.
Не нравится такой подход. А если в слове латинских букв больше, но все они без проблем меняются на кириллические?
0
3750 / 1944 / 613
Регистрация: 21.11.2021
Сообщений: 3,706
15.03.2024, 16:40
Цитата Сообщение от YuS_2 Посмотреть сообщение
ДухLESS - это какое слово?
Ну, мне кажется, как в моей программе, - просто и естественно - если в слове все английские буквы похожи на русские, то слово русское. Таким способом можно только перебдеть.
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
22.03.2024, 10:21  [ТС]
да, получается логика такая...
нужно брать от пробела до пробела "слово" разной длинны ...
проверять каждую букву
и если находим аномалию, например, ЛЦП (лево/центр/право)
ЛЦП - ру/ен/ру или ру/ен/ен или ен/ен/ру
и исправлять из подзамен

Добавлено через 2 минуты
здесь важен именно алгоритм ...

преобразовывать весь массив в "слова" а потом править - не вариант
там и код встречается, и много чего еще

тут именно цель - находить вот такие "аномалии"
0
3750 / 1944 / 613
Регистрация: 21.11.2021
Сообщений: 3,706
22.03.2024, 12:38
Цитата Сообщение от IRIP Посмотреть сообщение
и если находим аномалию, например, ЛЦП (лево/центр/право)
ЛЦП - ру/ен/ру или ру/ен/ен или ен/ен/ру
и исправлять из подзамен
Что-то непонятно... А можете на примере пояснить что это за аномалии такие?
Цитата Сообщение от IRIP Посмотреть сообщение
преобразовывать весь массив в "слова" а потом править - не вариант
там и код встречается, и много чего еще
Ну, если полностью автоматизировать, то нужно просто взять словарь русских слов, которые могут встретиться с английскими буквами, и сравнивать. А сколько английских букв может встречаться в русском слове в среднем? Одна-две или больше?
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
22.03.2024, 12:50
эти солянки как правило с тире:
;;ID-номер; корректно
;;IT-специалист; корректно
;;QR-код; корректно
;;VIN-код; корректно
;;VIN-номер; корректно
;;COVID-госпиталь; корректно
1
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
22.03.2024, 13:53
Цитата Сообщение от IRIP Посмотреть сообщение
здесь важен именно алгоритм ...
Без оценки текста, его составить... проблемно, учитывая вышеизложенное...

Цитата Сообщение от IRIP Посмотреть сообщение
да, получается логика такая...
нужно брать от пробела до пробела "слово" разной длинны ...
проверять каждую букву
и если находим аномалию, например, ЛЦП (лево/центр/право)
ЛЦП - ру/ен/ру или ру/ен/ен или ен/ен/ру
и исправлять из подзамен
Обнаружить аномалии, это не вся проблема же... тут важна оценка принадлежности слова в целом.
Вот код получения массива слов с символами латиницы и кириллицы вперемешку, для оценки:
Python
1
2
3
4
5
6
7
8
9
10
11
import os
import regex as re
file_path = os.path.abspath(__file__)
folder_path = os.path.dirname(file_path)
file = 'file.txt'
pth = rf"{folder_path}\{file}"
with open(pth,'r',encoding='utf-8') as f:
    s = f.read()
    out = re.findall(r'(?i)(?<=^| |\p{P}|\r?\n)[-а-яё\d]*+[a-z\d]++[-а-яё\d]*+[a-z\d]*+(?= |\p{P}|$|\r?\n)',s)
    out = [x for x in out if re.search(r'(?i)[а-яё]',x)]
print(out)
- наверное, не все варианты учтены, но можно поправить... а вот как уже оценивать - тут думайте...
Чистая латиница здесь тоже попадет в массив... надо подумать, чтобы её исключить...

Добавлено через 14 минут
вот эту строчку добавить надо (уже добавил выше):
Python
1
out = [x for x in out if re.search(r'(?i)[а-яё]',x)]
- латиница отфильтруется... ну, можно ещё рефакторить код, на предмет ускорения, упрощения... если понадобится.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2024, 13:53

Посчитать количество английских букв a и b в слове
1.Если в массиве присутствуют отрицательные элементы, заменить их значения средним арифметическим массива. Подсчитать и вывести количество...

Замена одинаковых английских и русских букв при поиске
Всем, привет! есть форма поиска: &lt;?PHP function translit($str) { $tr = array( ...

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

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

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


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru