Ich habe es jetzt einfach zu Fuß gelöst.
Keine Ahnung ob sich klären lässt, welches Format hier vorliegt.
Ein kleines 'a' steht z.B. für 'ß'.
Wenn es später weitere unbekannte Sonderzeichen geben sollte würde ich informiert werden.
So kann ich auch gleich noch unseren Straßennamen-Sonderfall mit abfrühstücken.
Delphi-Quellcode:
function StrassennamenKorrektur(S: string): string;
var
C: Char;
begin
Result := '';
for C in S do
case C of
'A' .. 'Z', '-', '.', ' ':
Result := Result + C;
'1':
Result := Result + ' EINS'; // Sonderfall Straßenname "Franckeplatz 1 Haus"
#14:
Result := Result + 'Ä';
#25:
Result := Result + 'Ö';
#26:
Result := Result + 'Ü';
#97:
Result := Result + 'ß'
else
begin
Result := Result + C;
ShowMessage('Zeichenwert #' + IntToStr(Ord(C)) + ' in Straßennamen ' + QuotedStr(S) + ' nicht eindeutig.');
end;
end;
end;