Is this what you are looking for?
>>> import re
>>> s = "0|dfgdfg203d{0;15616;5;1651;W;0.0|51651gdgs{0;15616;5;1651;W;0.0|"
>>> res = re.sub(r'\|[a-zA-Z0-9]{1,}\{','|{',s)
>>> print(res)
0|{0;15616;5;1651;W;0.0|{0;15616;5;1651;W;0.0|
>>>
UPDATED BASED ON COMMENTS
import re
LANGS = [
'ÁáČčĎďÉéĚěÍíŇňÓóŘřŠšŤťÚúŮůÝýŽž', # Czech
'ÄäÖöÜüẞß', # German
'ĄąĆćĘꣳŃńÓóŚśŹźŻż', # Polish
'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzÅåÄäÖö', # Swedish
'°C\\', # Other necessary characters
]
pattern = '\|' + '[A-Za-z{langs}0-9\s]'.format(langs=''.join(LANGS)) + '{1,}\{'
s = ";2;;0| Utlöst rökdeckare {0;0;0;0;;0;A| Servicelarm {0;0;0;0;;0;B| Slinga bruten {0;0;0;0;;0;B| Når e"
res = re.sub(pattern, '|{', s)
print("Input : ", s)
print()
print("Output : ",res)
print("\n\n")
s = "%;0.0| Kompensering ökning °C grader tillopp / °C grader medelrumsavvikelse. {0;3"
res = re.sub(pattern, '|{', s)
print("Input : ", s)
print()
print("Output : ",res)
Output
Input : ;2;;0| Utlöst rökdeckare {0;0;0;0;;0;A| Servicelarm {0;0;0;0;;0;B| Slinga bruten {0;0;0;0;;0;B| Når e
Output : ;2;;0|{0;0;0;0;;0;A|{0;0;0;0;;0;B|{0;0;0;0;;0;B| Når e
Input : %;0.0| Kompensering ökning °C grader tillopp / °C grader medelrumsavvikelse. {0;3
Output : %;0.0|{0;3