[Erledigt] Programmiertechnikfrage Stringbehandlung

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

[Erledigt] Programmiertechnikfrage Stringbehandlung

Beitragvon MacWomble » 29. Sep 2019, 18:49 [Erledigt] Programmiertechnikfrage Stringbehandlung

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.
Zuletzt geändert von MacWomble am 29. Sep 2019, 21:40, insgesamt 1-mal geändert.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
Lazarusforum e. V.
 
Beiträge: 913
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 19.2 Cinnamon / CodeTyphon 7.1 v. 18.02.2020/ FP 3.3.1 Rev 2002180516 | 
CPU-Target: Intel i7 64/32 Bit
Nach oben

Beitragvon Warf » 29. Sep 2019, 20:25 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
Code: Alles auswählen
Result := '%'
For c in TelNummer do Result += c + '%';

Und in der effizienten form ein fünfzeiler (begin und end nicht mitgezählt):
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;


Was soll man da überhaupt eleganter machen können? Ein 2-Zeiler ist so ziemlich das eleganteste was ich mir da vorstellen kann
Warf
 
Beiträge: 1330
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: MacOS | Win 10 | Linux | 
CPU-Target: x86_64
Nach oben

Beitragvon MacWomble » 29. Sep 2019, 21:40 Re: Programmiertechnikfrage Stringbehandlung

:oops: Bei mir hätte das bestimmt wilder ausgesehen ...

Dankeschön ! :D
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
Lazarusforum e. V.
 
Beiträge: 913
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 19.2 Cinnamon / CodeTyphon 7.1 v. 18.02.2020/ FP 3.3.1 Rev 2002180516 | 
CPU-Target: Intel i7 64/32 Bit
Nach oben

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried