Как удалить любой неперсидский символ в строке в python?

Я хочу удалить любой неперсидский символ в строке в python. Например, если у меня есть такая строка:

00سلامabc

У меня есть персидские символы, и результат становится таким:

سلام

Я знаю, что я могу извлечь только персидские символы из строки с помощью регулярного выражения. Но у меня четыре вопроса:

  1. Какой тип персонажей я должен рассмотреть? ascii или юникод?
  2. Есть ли персидский диапазон в ascii или unicode?
  3. Какой язык мне следует использовать? Арабский или персидский?
  4. Как найти диапазон алфавитов?

Я рекомендую ввести заголовок вашего вопроса в Google и найти регулярное выражение в 3-м или 4-м варианте.

ertucode 14.02.2023 13:19

Я рекомендую вам посмотреть, как работает Unicode, учитывая, сколько у вас вопросов. Stack Overflow не является учебным сайтом. Вместо этого ознакомьтесь с практическими рекомендациями по Python

Mad Physicist 14.02.2023 13:30
Библиотека для работы с мороженым
Библиотека для работы с мороженым
Лично я попрощался с операторами print() в python. Без шуток.
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Привет, люди RPA, это снова я и я несу подарки! В очередном моем приключении о том, как создавать ботов для облегчения рутины. Вот, думаю, стоит...
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
Учебник по веб-скрапингу
Учебник по веб-скрапингу
Привет, ребята... В этот раз мы поговорим о веб-скрейпинге. Целью этого обсуждения будет узнать и понять, что такое веб-скрейпинг, а также узнать, как...
Тонкая настройка GPT-3 с помощью Anaconda
Тонкая настройка GPT-3 с помощью Anaconda
Зарегистрируйте аккаунт Open ai, а затем получите ключ API ниже.
Learning Data Analytics Two: Filtering data in a DataFrame.
Learning Data Analytics Two: Filtering data in a DataFrame.
В Learning Data Analytics One: Using Python and Pandas , я рассказываю о:
2
2
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

import re

def persian_only(s):
    return "".join(re.findall(r"[\u0600-\u06FF]+", s))

>>> persian_only("00سلامabc")
سلام

Https://trinket.io/python3/cc31b7b436

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

HosseinSedghian 14.02.2023 13:30

@HosseinSedghian Это арабский блок символов Юникода - fileformat.info/info/unicode/block/arabic/list.htm

Tom McLean 14.02.2023 13:44

В качестве альтернативы импортируйте регулярное выражение вместо re и используйте шаблон r'\p{Arabic}+' для соответствия символам арабского алфавита или r'\P{Arabic}+' для соответствия всем неарабским символам. В качестве альтернативы, если вы хотите сохранить данные, но в них нет арабских символов, выполните преобразование текста, чтобы расшифровать или транслитерировать арабский язык на латиницу.

Andj 15.02.2023 03:53

Другие вопросы по теме