Я загрузил исходный код веб-сайта. Загружая исходный код и преобразовывая его в строку, многие из символов (например, одиночные кавычки ('), двойные кавычки («), скобки (<,>) и косые черты (/)) теперь удваиваются .Python - экранированный 4-значный символ unicode unicode
Пример:
s = '\\u2018this \\/ that\\u2019'
текст представлен на веб-сайте, и как я хочу его представлял, когда распечатывается является:
this/that
Мой первый инстинкт должен был использовать регулярное выражение для поиска все в Стойки из 2-х символов обратных косых черт, и заменить его на один обратный слеше, а затем использовать str.encode('utf-8').decode('utf-8')
для преобразования 4 цифры экранированных символов Unicode в их реальные персонаж:
import re
sample = '\\u2018this \\/ that\\u2019'
pattern = r'(\\)\\\1'
double_escapes_removed = re.sub(pattern, '', text)
final_text = text.encode('utf-8').decode('utf-8')
print(final_text)
должен возвращать this/that
, но возвращаемая строка оказывается совершенно неизменными : \u2018this \/ that\u2019
.
Я проверил образец индивидуально с re.findall(pattern, text)
, и он успешно нашел 3 экземпляра двойной обратной косой черты. Кроме того, я понятия не имею, что пойдет не так
Благодарим вас за то, что вы сэкономите время –