Is there a Delphi function to split string by a multi-character delimiter rather than a single character ?
For instance when I'd use that function this way:
SplitString('Whale<->Mammal<->Ocean', '<->')
I would get a result of these 3 strings:
'Whale', 'Mammal', 'Ocean'
Is there such function in Delphi for this ?
There is another quite simple solution using TStringList. Change the LineBreak:
procedure TForm208.Button1Click(Sender: TObject);
var
lst: TStringList;
begin
lst := TStringList.Create;
try
lst.LineBreak := '<->';
lst.Text := 'Whale<->Mammal<->Ocean';
Memo1.Lines := lst;
finally
lst.Free;
end;
end;
You can check my StringUtils.pas unit that is part of Cromis Library
There is a simple text tokenizer there. But probably is just what you need. The interface is like that
TTextTokenizer = class
private
FTokens: TTokens;
FDelimiters: array of ustring;
public
constructor Create;
procedure Tokenize(const Text: ustring);
procedure AddDelimiters(const Delimiters: array of ustring);
property Tokens: TTokens read FTokens;
end;
Suports strings as delimiters and also more then one delimiter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With