Описание функции


SplitA2

Разделяет строку и создаёт список из элементов.

SplitA2(String$, Array StringList.s(1)[, Separator$ = #CRLF$ + #TAB$ + #FF$ + #VT$ + " "])

Параметры

String$ Строка, которую необходимо разделить
StringList.s(1) Заранее созданный массив, являющийся результатом работы функции.
Separator.s Символ являющийся разделителем. Если это строка более одного символа, то каждый символ будет как разделитель.

Возвращаемое значение

ничего

Пример

; AZJIO
; https://www.purebasic.fr/english/viewtopic.php?p=585485#p585485
Procedure SplitA2(String$, Array StringList.s(1), Separator$ = #CRLF$ + #TAB$ + #FF$ + #VT$ + " ")
    Protected *S.Integer = @String$
    Protected *jc.Character, *c.Character = @String$
    Protected i

    i = 0
    While *c\c
        *jc = @Separator$

        While *jc\c
            If *c\c = *jc\c
                *c\c = 0
                If *S <> *c
                    ReDim StringList(i)
                    StringList(i) = PeekS(*S)
                    i + 1
                EndIf
                *S = *c + SizeOf(Character)
                Break
            EndIf
            *jc + SizeOf(Character)
        Wend

        *c + SizeOf(Character)
    Wend
    ReDim StringList(i)
    StringList(i) = PeekS(*S)
EndProcedure

Define i, St.s = "Это тестовая    строка, чтобы проверить, " + #CRLF$ + "работают ли разделение."
Define Dim WordsList.s(0)
SplitA2(St, WordsList())

For i = 0 To ArraySize(WordsList())
    Debug WordsList(i)
Next