while i < len(string):
    if is_cjk(string[i]):
        start = i
while is_cjk(string[i]):
    i += 1
yield string[start:i]
i += 1
string = (
    'sdf344asfasf\xe5\xa4\xa9\xe5\x9c\xb0\xe6\x96\xb9\xe7\x9b\x8a3\xe6\xa8\xa9sdfsdf'
    .decode('utf-8'))
for sub in cjk_substrings(string):
    string = string.replace(sub, '(' + sub + ')')
print(string)
Как узнать китайский или японский иероглиф в строке в Python?