Аватар для GmDio
6 / 5 / 1
Регистрация: 06.06.2022
Сообщений: 68

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

11.06.2022, 17:43. Показов 4815. Ответов 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,310
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,310
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,330
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 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru