Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Deel:
Meldingen
Alles wissen

[Opgelost] Lazarus - StringReplace meerdere strings met meerder andere string

1 Berichten
1 Gebruikers
0 Reactions
1,479 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
Topic starter  

Ik weet zeker dat anderen tegen hetzelfde probleem aan zijn gelopen;
Je hebt een string en je wilt daarin meerder stringreplace acties doen - dus een aantal strings vervangen door een aantal andere strings.

Als voorbeeld:

s := 'The quick brown fox jumps over the lazy dog';

Nu willen we de volgende vervangingen doen: "brown" moet "yellow" worden, "dog" wordt "Golden Retriever" en "lazy" wordt "old".

Optie 1 is om 3x StringReplace aan te roepen, bijvoorbeeld:

s := stringreplace(s,'brown','yellow',[rfReplaceAll]);
s := stringreplace(s,'dog','Golden Retriever',[rfReplaceAll]);
s := stringreplace(s,'lazy','old',[rfReplaceAll]);

Optie 2 is door nesting te gebruiken van StringReplace:

s := stringreplace(stringreplace(stringreplace,'brown','yellow',[rfReplaceAll]),'dog','Golden Retriever',[rfReplaceAll]),'lazy','old',[rfReplaceAll]);

(lekker makkelijk te lezen - not)

Optie 3 is door "StringsReplace()" te gebruiken, welke 2 arrays krijgt; 1 voor de strings die gezocht moeten worden, en 1 array met de strings waarmee ze vervangen moeten worden:

s := StringsReplace(s,['brown','dog','lazy'],['yellow','Golden Retriever','old'],[rfReplaceAll]);

Stukken makkelijker en stukken beter te lezen natuurlijk ...


   
BeantwoordenCiteren
Deel: