(я предполагаю, что вы используете python 3, поскольку вы используете символы Юникода в обычных строках. Для python 2 добавьте u
перед каждым строковым литералом.)
Python 3
import re
name = "拉柏多公园"
# the string of Chinese characters, with any number of spaces interspersed.
# The regex will match any surrounding spaces.
regex = r"\s*拉\s*柏\s*多\s*公\s*园\s*"
Таким образом, вы можете заменить каждую строку на
reline = re.sub(regex, ' ' + name + ' ', line)
Python 2
# -*- coding: utf-8 -*-
import re
name = u"拉柏多公园"
# the string of Chinese characters, with any number of spaces interspersed.
# The regex will match any surrounding spaces.
regex = ur"\s*拉\s*柏\s*多\s*公\s*园\s*"
Таким образом, вы можете заменить каждую строку на
reline = re.sub(regex, u' ' + name + u' ', line)
Обсуждение
Результат будет окружен пробелами. В более общем смысле, если вы хотите, чтобы он работал в начале или в конце строки, или перед запятыми или точками, вам придется заменить ' ' + name + ' '
на что-то более сложное.
Редактировать: исправлено. Конечно, вы должны использовать библиотечную функцию re
.