I have:
Dim arr() As String = {\"one\",\"two\",\"three\"}
I want a new array, sub, containing {\"one\", \"three\"} only. What
You can use the Array.Copy method. I don't know how you are picking elements from your array. Are you randomly picking or any other way? But I think you need to create a second array and use the Copy method.
You can use the Copy method in a variety of ways. The link I gave above is to pick an element from a specified index of the first array and copy to a specified index of the second array.
Here is an example in C#:
string[] firstArray = {"dog","cat","fish","monkey"};
string[] secondArray = firstArray;
Array.Copy(firstArray,3,secondArray,0,1);
Console.WriteLine(secondArray[0].ToString());
A VB.NET example is here:
Arrays: Copy vs. Clone
In your case, you can put the Array.Copy in a loop and keep changing the source and destination index.