Описание функции
SplitL3
Разделяет строку и создаёт список из указателей на элементы строки.
SplitL3(*c.Character, List PointerList(), *jc.Character)
Параметры
*c.Character | Указатель на строку, которую необходимо разделить |
PointerList() |
Заранее созданный список (будет очищен перед использованием), являющийся результатом работы функции. |
*jc.Character |
Указатель на символ являющийся разделителем. |
Возвращаемое значение
ничего |
Примечания
В отличии от других функций такой способ экономней, так как не дублирует строки, а только создаёт указатели на них.Пример
EnableExplicit
; AZJIO
; https://www.purebasic.fr/english/viewtopic.php?p=624213#p624213
Procedure Split3(*c.Character, List PointerList(), *jc.Character)
Protected *t.Character = *c
ClearList(PointerList())
While *c\c
If *c\c = *jc\c
*c\c = 0
*c + SizeOf(Character)
If *c\c
AddElement(PointerList())
PointerList() = *t
*t = *c
Else
Break
EndIf
EndIf
*c + SizeOf(Character)
Wend
AddElement(PointerList())
PointerList() = *t
EndProcedure
Define St.s = "This is a test string to see if split and join are working."
NewList PointerList()
Split3(@St, PointerList(), @" ")
ForEach PointerList()
Debug PeekS(PointerList())
Next