Ich möchte einen Filter für Telefonnummern u.ä bauen. Hierfür soll ein String ergänzt werden in der Form:
Eingabe: 0123456789
Ausgabe: %0%1%2%3%4%5%6%7%8%9%
Ich kann mir das natürlich in einer Schleife zusammenbasteln, wollte aber zuvor wissen, ob es einen eleganteren Weg hierfür gibt.
[Erledigt] Programmiertechnikfrage Stringbehandlung
-
- Lazarusforum e. V.
- Beiträge: 999
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
[Erledigt] Programmiertechnikfrage Stringbehandlung
Zuletzt geändert von MacWomble am So 29. Sep 2019, 22:40, insgesamt 1-mal geändert.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Programmiertechnikfrage Stringbehandlung
Naja, zum einen ist das sehr spezifisch was du da machen willst, zum anderen ist das in der simpelsten Form ein 2 Zeiler
Und in der effizienten form ein fünfzeiler (begin und end nicht mitgezählt):
Was soll man da überhaupt eleganter machen können? Ein 2-Zeiler ist so ziemlich das eleganteste was ich mir da vorstellen kann
Code: Alles auswählen
Result := '%'
For c in TelNummer do Result += c + '%';
Code: Alles auswählen
SetLength(Result, TelNummer.Length*2 + 1);
Result[1] := '%';
for i:=1 to TelNummer.Length do
begin
Result[i*2] := TelNummer[i];
Result[i*2+1] := '%';
end;
-
- Lazarusforum e. V.
- Beiträge: 999
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
Re: Programmiertechnikfrage Stringbehandlung

Dankeschön !

Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.