Codeunit 707 RegEx Split Wrapper, source in 29
Source29
src/Layers/W1/BaseApp/System/Text/RegExSplitWrapper.Codeunit.al57 lines, Copyright (c) Microsoft Corporation. MIT
namespace System.Text;
using System;
codeunit 707 "RegEx Split Wrapper"
{
trigger OnRun()
begin
end;
var
SplitArray: DotNet Array;
ArrayIsEmptyErr: Label 'No split string has been supplied.';
IndexOutOfBoundsErr: Label 'Index out of bounds.', Comment = '%1 = integer';
procedure Split(Text: Text; Separator: Text)
begin
if not TrySplit(Text, Separator) then
Error(GetLastErrorText);
end;
procedure GetLength(): Integer
begin
CheckIfArrayIsEmpty();
exit(SplitArray.Length);
end;
procedure GetIndex(Index: Integer): Text
begin
CheckIfArrayIsEmpty();
CheckIfIndexIsWithinBoundaries(Index);
exit(SplitArray.GetValue(Index));
end;
local procedure CheckIfArrayIsEmpty()
begin
if IsNull(SplitArray) then
Error(ArrayIsEmptyErr);
end;
local procedure CheckIfIndexIsWithinBoundaries(Index: Integer)
begin
if ((Index + 1) > GetLength()) or (Index < 0) then
Error(IndexOutOfBoundsErr);
end;
[TryFunction]
procedure TrySplit(Text: Text; Separator: Text)
var
RegEx: DotNet Regex;
begin
SplitArray := RegEx.Split(Text, Separator);
end;
}