I\'ve written some pwsh code
\"a:b;c:d;e:f\".Split(\";\") | ForEach-Object { $_.Split(\":\") }
# => @(a, b, c, d,
You can alternatively create also a stack or a queue. Below, I created with your array a stack.
$array = "a:b;c:d;e:f".Split(";")
$stack = New-Object -TypeName System.Collections.Stack
$array | ForEach-Object { $stack.Push($_.Split(":")) }
From here, the most used methods are .Push()
to insert new items to your stack, .Peek()
to use the first item of the stack and .Pop()
, to retrieve and then remove the first item.
You mentioned that you wanted to create an array. This is also possible by using the ToArray()
method.
$stackArray = $stack.ToArray()
$stackArray[2]
> a
> b
To keep in mind, creating a stack will inverse the order to the items.