@Delphi.Narium:
Sehr gut formuliert, damit konnte ich was anfangen.
Das kam bei mir raus. Erfüllt es die Anforderungen?
Delphi-Quellcode:
program Project13;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, System.Classes;
{
input:
:[[a]]:[[xyz irgendwas mehr oder weniger langes]] :[[b]]:[[noch mehr
]]:[[und nochwas]]
output:
:[[a]]
:[[xyz irgendwas mehr oder weniger langes]]
:[[b]]
:[[noch mehr]]
:[[und nochwas]]
}
var
input: TStringList;
output: TArray<
string>;
cArr:
array[0..0]
of string;
i: Integer;
derText:
string;
begin
try
{wandel input in einen langen string um}
input := TStringList.Create;
input.Add('
:[[a]]:[[xyz irgendwas mehr oder weniger langes]] :[[b]]:[[noch mehr');
input.Add('
]]:[[und nochwas]]');
for I := 0
to input.Count - 1
do
derText := derText + Input[i];
input.Free;
{splitte string wieder}
cArr[0] := '
:[[';
output := derText.Split(cArr);
for i := 1
to High(output)
do
output[i] := '
:[[' + output[i];
{schreibe resultat}
for i := Low(output)
to High(output)
do
WriteLn(output[i]);
ReadLn;
except
on E:
Exception do
Writeln(E.ClassName, '
: ', E.
Message);
end;
end.