Joan_Held
asked on
Find and count commas in array
Hello,
I'm trying to count the number of commas an array has in it. I do know that the array has commas in it, but I keep running into the problem that it doesn't count the commas. What can I do to get it to count the commas?
Thanks
I'm trying to count the number of commas an array has in it. I do know that the array has commas in it, but I keep running into the problem that it doesn't count the commas. What can I do to get it to count the commas?
Thanks
You could join the array, say on the pipe character (|) and then split the array on the comma. The number of commas would be the length minus 1.
Other than that, iterate over each element, Split() each item as Shaun_Kline suggests, and keep a running total.
*You can also use a While loop and IndexOf().
Can you shows us how your Array is declared along with some examples of its contents?...
*You can also use a While loop and IndexOf().
Can you shows us how your Array is declared along with some examples of its contents?...
ASKER
The text file it's coming from has a header, list of variables, and then numbers. Lots of numbers.
Ex:
blah blah header
,var
,var
,var
123 5495 56034 24 59
3958 4859 959
and those two lines repeated until the end with different numbers.
Ex:
blah blah header
,var
,var
,var
123 5495 56034 24 59
3958 4859 959
and those two lines repeated until the end with different numbers.
ofdOpenit.InitialDirectory = "S:\"
ofdOpenit.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
ofdOpenit.FilterIndex = 2
ofdOpenit.RestoreDirectory = True
ofdOpenit.ShowDialog()
Dim path As String = ofdOpenit.FileName
Dim UnsortedArray() As String = File.ReadAllLines(path)
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Ok...so you want to skip the first line, then count how many consecutive lines after that begin with commas?
ASKER
Yes, that is what I am trying to do.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You can either try to do it in one shot like Shaun proposes, or go line by line and count them. Which is better really depends on how you need to manipulate the data...
ASKER
I original wanted to go through each element and count them, but see as I have be trying to do that for three days now I will take what I can get.
ASKER
So, I finally go it to work.
Dim UnsortedArray() As String = File.ReadAllLines(path)
Dim CommaCount As Long = Join(UnsortedArray, ",").Split(",").Length
MessageBox.Show(CommaCount)
MessageBox.Show(UnsortedArray.Length)
Dim Var As Integer
Var = CommaCount - UnsortedArray.Length + 1
MessageBox.Show(Var)