Повторное выражение Python заменяет значение ASCII Моя строка ввода - это что-то вроде He#108##108#o, а выход должен быть Hello. В основном я хочу заменить каждый #[0-9]+# на соответствующие символы ASCII номера внутри ##. Ответ 1 Используйте функцию замены в вашем регулярном выражении, которая извлекает цифры, преобразует их в целое число, а затем в символ: import re s = "He#108##108#o" print(re.sub("#(\d+)#", lambda x : chr(int(x.group(1))), s)) Результат: Hello Ответ 2 Вы можете использовать re.split(): import re s = "He#108##108#o" new_s = re.split("#+", s) final_s = ''.join(chr(int(i)) if i.isdigit() else i for i in new_s) Вывод: Hello
Ответ 1 Используйте функцию замены в вашем регулярном выражении, которая извлекает цифры, преобразует их в целое число, а затем в символ: import re s = "He#108##108#o" print(re.sub("#(\d+)#", lambda x : chr(int(x.group(1))), s)) Результат: Hello
Ответ 2 Вы можете использовать re.split(): import re s = "He#108##108#o" new_s = re.split("#+", s) final_s = ''.join(chr(int(i)) if i.isdigit() else i for i in new_s) Вывод: Hello