У меня есть строка с Unicode. Я хочу разбить строку на левую подстроку и правую подстроку с Юникодом в качестве разделителя.
Например, заданная строка:
str = 'Oh wow. Magnificent! Ariadna Garcia! <U+2764> <U+2764> wonderful'
Я хочу вывести как :
leftstr = 'Oh wow. Magnificent! Ariadna Garcia!'
uni_code = '<U+2764> <U+2764>'
rightstr = 'wonderful'
Я подумал об использовании регулярных выражений для идентификации Unicode, а затем нашел индекс Unicode с помощью find (). Затем используйте подход среза строки и разрезания с индексами, то есть leftstr = начальный индекс на единицу меньше, чем индекс Юникода. Затем rightstr = (начальный индекс Unicode + длина Unicode) до конца строки. Проблема в том, что мое регулярное выражение для определения Unicode не работает. Я чувствую, мой подход сложен. Есть ли какой-нибудь элегантный способ получить нужные подстроки в качестве вывода.
Следующий код, который я пробовал до сих пор:
import re str1 = 'Oh wow. Magnificent! Ariadna Garcia! <U+2764> wonderful'
pattern = r'<U\+.*?>'
indx = str1.find(pattern)
print(indx)
Регулярное выражение не работает должным образом.