Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2020, 13:40   #1
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,082
По умолчанию Обработка строки с символами другой кодировки

Всем доброго времени суток, столкнулся с проблемой.
Есть строка в которой есть символы ?�, пытаюсь заменить их на "n", но падает ошибка
Код:
import re

str = "Espa?�ola"
x = "?�"
y = "n"

if re.search(x,str) != None:
    print ('is in str')
    new_str = str.replace(x,y)
    print(new_str)
else:
    print ('NO '+ x +' in str[' + str + "]" )
результат выполнения
Код:
Traceback (most recent call last):
  File "main.py", line 7, in <module>
    if re.search(x,str) != None:
  File "/usr/lib/python3.8/re.py", line 201, in search
    return _compile(pattern, flags).search(string)
  File "/usr/lib/python3.8/re.py", line 304, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/usr/lib/python3.8/sre_compile.py", line 764, in compile
    p = sre_parse.parse(p, flags)
  File "/usr/lib/python3.8/sre_parse.py", line 948, in parse
    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
  File "/usr/lib/python3.8/sre_parse.py", line 443, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "/usr/lib/python3.8/sre_parse.py", line 668, in _parse
    raise source.error("nothing to repeat",
re.error: nothing to repeat at position 0
запустить можно тут
Noor вне форума Ответить с цитированием
Старый 13.11.2020, 15:38   #2
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,082
По умолчанию

решение нашлось, тему можно закрыть.
Для истории оставлю тут
Код:
str_ = "Espa?�ola"
x = "?�"
y = "n"
new_str = ''

if x in str_:
    new_str = str_.replace(x, y)
    print(new_str)
else:
    print('NO ' + x +' in str[' + str_ + "]")
Noor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача 1-реализована.Задача 2-Найти и вывести символы 2-ой строки не совпавшие с символами 1-ой строки Leshkin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 12.11.2013 08:57
В IE после смены кодировки с windows-1251 на utf-8 вместо шрифта Tahoma отображается другой шрифт. Michael_Ardan HTML и CSS 1 12.08.2013 17:23
В браузере IE после смены кодировки с windows-1251 на utf-8 вместо шрифта Tahoma отображается другой шрифт. Michael_Ardan PHP 1 05.08.2013 09:28
Строки с символами в С++ Аруми Помощь студентам 0 28.12.2011 19:10
Обработка строк. Работа с символами. ardor Помощь студентам 2 03.01.2010 20:25