Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68

Исключить латинские символы из строки

11.06.2022, 17:43. Показов 4726. Ответов 17

Студворк — интернет-сервис помощи студентам
Добрый день, форумчане, сегодня появилась задача убрать все латинские символы из строки, а также знак "/".
Поискал в интернете, ничего не нашел простого или встроенного.

У меня есть список товаров в таком виде:

Название на русском языке / Название на английском языке

Решил так:
Python
1
2
3
4
5
6
7
8
9
10
def expectlatin(mystring):
    for i in range(65, 91):
        mystring = mystring.replace(f"{chr(i)}", "")
    for i in range(97, 122):
        mystring = mystring.replace(f"{chr(i)}", "")
    mystring = mystring.replace("/", "").strip()
    return mystring
 
 
print(expectlatin("abcqrsdваbifrкщгшпугка"))
возвращает "вакщгшпугка", работает, как мне надо, но насколько правильно и как легче решить мою задачу, а главное правильно.

Добавлено через 41 секунду
Стрипом убираю все лишние пробелы
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2022, 17:43
Ответы с готовыми решениями:

Исключить из строки или списка все цифровые символы, а так же (h,e,s,o,y,a,m)
5. Дана строка или список N символов, введено пользователем, исключить из строки или списка все цифровые символы, а так же (h,e,s,o,y,a,m)....

Как исключить латинские буквы из строки.
Доброй ночи ! Ребята подскажите как исключить латинские буквы из строки. Пробывал функцию strtok, но она удаляет только один символ?

Дано текстовый файл, в котором встречаются как российские, так и латинские буквы. Исключить из этого файла все латинские
Дано текстовый файл, в котором встречаются как российские, так и латинские буквы. Исключить из этого файла все латинские буквы и полученный...

17
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
11.06.2022, 18:35
Можно так:
Python
1
2
3
4
5
6
from re import sub
 
def expectlatin(mystring):
    return sub(r'[a-zA-Z\s]+', '', mystring) # так же удаляет лишние пробелы
 
print(expectlatin('   abcqrsdваbifrкщгшпугка')) # вакщгшпугка
Добавлено через 3 минуты
или так:
Python
1
2
3
4
5
6
from string import ascii_letters as al
 
def expectlatin(mystring):
    return [i for i in mystring if i not in al]
 
print(*expectlatin('abcqrsdваbifrкщгшпугка'), sep='') # вакщгшпугка
1
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68
11.06.2022, 18:36  [ТС]
Цитата Сообщение от Пифагор Посмотреть сообщение
Можно так
А без сторонних модулей?
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
11.06.2022, 18:38
Цитата Сообщение от GmDio Посмотреть сообщение
А без сторонних модулей?
Python
1
2
3
4
def expectlatin(mystring):
    return [i for i in mystring if i not in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ']
 
print(*expectlatin('abcqrsdваbifrкщгшпугка'), sep='') # вакщгшпугка
И кстати, данные модули не сторонние. Они входят в стандартный пакет.
1
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68
11.06.2022, 18:45  [ТС]
Цитата Сообщение от Пифагор Посмотреть сообщение
Python
1
2
3
def expectlatin(mystring):
    return [i for i in mystring if i not in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ']
print(*expectlatin('abcqrsdваbifrкщгшпугка'), sep='') # вакщгшпугка
Я только учусь, короткие конструкции мне менее понятны, но я знаю, что надо к ним стремиться, могу попросить сделать полную конструкцию для лучшего понимания?
1
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
11.06.2022, 18:55
Цитата Сообщение от GmDio Посмотреть сообщение
короткие конструкции
Не совсем понял. Вам надо объяснить, как ЭТО работает?
[i for i in mystring if i not in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ']

Данный код пробегает по mystring и проверяет, входит ли символ в последовательность abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ, она же - ascii_letters из модуля string.
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
11.06.2022, 19:09
Пифагор, решение то хорошее но представь нам нужно убирать китайские символы а их 5000 универсальней через код ASCII
Python
1
return [i for i in mystring if not 97 <= ord(i.lower()) <= 122 ]
1
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68
11.06.2022, 19:20  [ТС]
Цитата Сообщение от Пифагор Посмотреть сообщение
Не совсем понял. Вам надо объяснить, как ЭТО работает?
ну не сокращенная конструкция

Python
1
2
3
for i in mystring
    if i not in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
        ...
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
11.06.2022, 19:31
Semen-Semenich, согласен. Просто в ТЗ фигурировали исключительно латинские символы. С китайскими ситуёвина была бы другая

Добавлено через 3 минуты
Цитата Сообщение от GmDio Посмотреть сообщение
ну не сокращенная конструкция
GmDio, Вы сразу пытайтесь читать все как оно есть, иначе потом перестроится с циклов на списковые включения будет сложно. Однако, это исключительно мое мнение.

Добавлено через 3 минуты
Кстати, полюбопытствуйте синтаксис тернарного оператора. Если поймете его сейчас(в начале пути), то можете себя поздравить.
0
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68
11.06.2022, 19:38  [ТС]
Semen-Semenich, точно знаю ты распишешь эту конструкцию для меня в более привычный мне вид

Добавлено через 3 минуты
Цитата Сообщение от Пифагор Посмотреть сообщение
GmDio, Вы сразу пытайтесь читать все как оно есть
Я за неделю узнал, что такое Python, какие в нем основные функции, узнал что такое ООП, классы, создал свою игру, создал свой парсер, создал свою многопользовательскую игру и т.д. Моя просьба расписать конструкцию абсолютно нормальная, чтобы мне прочитать сокращенную конструкцию, мне надо понимать как это все устроенно в обычной.

Не сравнивайте свои знания со знаниями других людей, просто или помогайте, или не помогайте =)
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
11.06.2022, 19:47
GmDio, если Вы воспринимаете обычные советы, как унизительную критику, то может лучше и вовсе не спрашивать советов?
Цитата Сообщение от GmDio Посмотреть сообщение
Я за неделю узнал, что такое Python, какие в нем основные функции, узнал что такое ООП, классы, создал свою игру, создал свой парсер, создал свою многопользовательскую игру и т.д
Интересно, как, не зная(и не понимая) основ(!), Вы сумели узнать весь(!) язык???

Добавлено через 1 минуту
Да еще и за неделю
0
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68
11.06.2022, 19:52  [ТС]
Цитата Сообщение от Пифагор Посмотреть сообщение
Интересно, как, не зная(и не понимая) основ(!), Вы сумели узнать весь(!) язык???
Я нигде про это не писал.

Добавлено через 3 минуты
1) что такое Python
2) какие в нем основные функции
3) узнал что такое ООП
4) узнал, что такое классы
5) создал свою игру (простая игра угадай число, с различными дополнениями)
6) создал свой парсер (написал парсер, который показывает мне самое выгодное предложение со страницы магазина кошачих кормов)
7) создал свою многопользовательскую игру

Ни слова про весь(!) Python

Добавлено через 1 минуту
Поэтому на вашем месте было бы проще новичку расписать, что и как или так и написать: "Мне лень". Но я не вашем месте.
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
11.06.2022, 19:54
Цитата Сообщение от Пифагор Посмотреть сообщение
что такое Python, какие в нем основные функции, узнал что такое ООП, классы
Это и есть язык. А модули и приблуды - по необходимости. В общем, Romae, esse Romanum, а не воротите нос.
0
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68
11.06.2022, 19:55  [ТС]
Цитата Сообщение от Пифагор Посмотреть сообщение
В общем, Romae, esse Romanum, а не воротите нос.
Est frigida et humida in Python
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
11.06.2022, 20:28
Цитата Сообщение от GmDio Посмотреть сообщение
Я за неделю узнал, что такое Python, какие в нем основные функции, узнал что такое ООП, классы, создал свою игру, создал свой парсер
вы гений. я с 2016 года изучаю и знаю наверно процентов 10% питона. без обид но вот такое поверхностное знание потом приводит к массе вопросов
Цитата Сообщение от GmDio Посмотреть сообщение
короткие конструкции мне менее понятны
это не короткие конструкции а обычный цикл в генераторе с условием отбора элементов сразу собранный в список
Python
1
2
3
4
5
6
def expectlatin(mystring):
    lst = []
    for i in mystring:
        if i not in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ':
            lst.append(i)
    return lst
0
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68
11.06.2022, 22:55  [ТС]
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
вы гений. я с 2016 года изучаю и знаю наверно процентов 10% питона. без обид но вот такое поверхностное знание потом приводит к массе вопросов
Что с вами со всеми не так? Я не писал, что хорошо знаю Python, наоборот я несколько раз замечал, что я его только начал учить. Для меня раньше Python был просто языком программирования, теперь я знаю, что это такое немного больше.

Я нигде и никогда не хвалился своими знаниями. Если вы знаете десять процентов, то я тогда тысячные доли процента, если не меньше.

Я за неделю узнал, что такое Python, какие в нем основные функции, узнал что такое ООП, классы, создал свою игру, создал свой парсер
Если внимательно и без эмоций прочитать, то тут черным по #F6F6F6 написано, что мои знания заканчиваются на списке выше.

В противном случае я бы не задавал вопросы.

Добавлено через 1 минуту
За шесть лет вы стали лучше читать код, чем простой текст.

Добавлено через 1 минуту
Вы заходите в раздел Python для новичков, тут всем нужна помощь и советы, профессионалы и бывалые тут в создании тем не нуждаются.

P.S.: Если вы где-то видите мое сообщение о том, что я Гуру Python, процитируйте мне его пожалуйста.

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

Добавлено через 7 минут
А по поводу поверхностных знаний:

На автомобиле человек сперва учит теорию, потом начинается практика. Сперва троганье с места, контроль сцепления, управление автомобилем и т.д. Таким образом аккуратно, набирая опыт появляются навыки. Никто сперва годами не оттачивал троганье с места, потом еще несколько месяцев эстакаду, торможение и т.д.

Так и тут, сперва надо получить поверхностные знания хотя бы для того, чтобы понимать, что оттачивать.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
11.06.2022, 23:59
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN OPQRSTUVWXYZ
GmDio, не забывайте, что сию строку можно укоротить на два: abcdefghijklmnopqrstuvwxyz и сравнивать строку с поставленной в lower()=нижний регистр
0
 Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68
12.06.2022, 00:15  [ТС]
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN OPQRSTUVWXYZ
GmDio, не забывайте, что сию строку можно укоротить на два: abcdefghijklmnopqrstuvwxyz и сравнивать строку с поставленной в lower()=нижний регистр
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.06.2022, 00:15
Помогаю со студенческими работами здесь

Заданный текст в котором все украинские символы изменить на латинские. Латинские символы-не менять. Напечатать преобразованый текст
Заданный текст в котором все украинские символы изменить на латинские. Латинские символы-не менять. Напечатать преобразованный текст

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A
&quot;Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A
Даны строки A и B. Если в A есть повторяющиеся символы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Парсинг строки: отобрать латинские символы
после введения с клавиатуры произвольной строки вывести на экран эту строку,но с отобранными из него латинскими буквами. с++ Заранее...

Из каждой строки исходного файла исключить символы, совпадающие с первой буквой строки
Помогите пожалуйста!!! Из каждой строки исходного файла исключить символы, совпадающие с первой буквой строки (строка не Преобразование...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru