2012-04-18 2 views
0

мне нужно взять эту строку:Строка двойной массив

Dim tmpTry As String = "10, 20, 30, 40, 50, 52, 20, 20, 10, 35, 3, 8, 47, 7, 2, 5, 55, 8, 0, 0, 6, 55, 0, 2, 12, 0, 0, 21, 14, 0, 3" 

и преобразовать его в двойной массив:

Dim arrNumOfVisits As Double() = New Double(tmpTry) {} 

Как я могу идти о том, что делать?

FYI в arrNumOfVisits переходит в ParamArray System.Collections.IEnumerable()

Дэвид

+0

Вы смотрели в использовании Regex? –

+0

Regex - это мое понимание ... – StealthRT

+1

Я не буду предлагать полные решения, потому что я не так хорош в Regex, или vb.net (я использую C#), но это может заставить вас смотреть правое направление: "string [] numbers = Regex.Split (вход, @" \ D + ");" вы получаете массив строк, которые являются числами, разделенными не числами. Может быть, простой бросок в двойник будет работать? –

ответ

2
Dim arrString As String() = tmpTry.Split(New Char() {" "C}) 
Dim arrNumOfVisits As Double() = New Double(arrString.Length) {} 
Dim i As Integer = 0 
While i < arrString.Length 
    arrNumOfVisits(i) = Double.Parse(arrString(i)) 
    i += 1 
End While 

Приведенный выше код будет делать трюк, с помощью Regex на это было бы излишним.

Тем не менее действительно пытаются освоить основные операции RegEx, здесь мои любимые шпаргалок: http://regexlib.com/CheatSheet.aspx?AspxAutoDetectCookieSupport=1
http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

+0

Это работало так, как мне было нужно! Спасибо Джереми! – StealthRT

Смежные вопросы