import string
def pre_num(inner_text, replace_key, replace_value):
replace_index = inner_text.find(replace_key)
while replace_index > 0:
if inner_text[replace_index-1] not in set(string.digits):
break
replace_data = replace_value
subtract_index = 1
num_str = ''
num_index = replace_index - subtract_index
while num_index >= 0 and inner_text[num_index] in set(string.digits):
num_str = inner_text[num_index] + num_str
subtract_index += 1
num_index = replace_index - subtract_index
if num_str:
replace_data = replace_data + num_str
inner_text = inner_text[:num_index + 1] + replace_data + inner_text[replace_index + 1:]
replace_index = inner_text.find(replace_key)
return inner_text
if __name__ == "__main__":
text = '从5‰到10‰'
print(pre_num(text, '‰', '千分之'))