2013-04-22 5 views
1

Итак, я сделал программу, которая по большей части преобразует числа в буквы. Моя проблема раньше заключалась в том, что это преобразование каждой отдельной цифры вместо каждого числа, например. (1-0-1 вместо 101). Кто-то предложил, что я использую функцию Split:Как мне заставить эту функцию разделения работать? (VB.NET)

Dim numbers As String() = DTB.Split(" ") 

Так что теперь он читает число весь путь до конца в том, что это будет только раскол, если есть пространство между ними. Моя проблема заключается в том, что он переводит, например: «[102, 103, 104]» как «[102», «103» и «104]», потому что он будет только разбиваться, если между ними есть пробел. Очевидно, вы не можете преобразовать «[102» или «104]», потому что они не являются фактическими числами.

Есть ли у кого-нибудь решение, что я должен сделать, чтобы преобразовать его независимо от расстояния? Будет ли Regex быть способ пойти?

ответ

1

использовать регулярное выражение с \d+ он будет соответствовать номеру

так

12234abcsdf23434 

возвратит два матча

12234 
23434 
+0

спасибо. Прекрасно работает. Вероятно, я должен изучить Regex, поскольку у меня, скорее всего, не было бы этого вопроса. Выглядит несколько пугающе, поэтому я избегаю этого. –

+0

Они действительно полезны, я также использую этот бесплатный инструмент http://www.ultrapico.com/Expresso.htm, а затем попытался решить некоторые проблемы людей в stackoverflow с запросами регулярных выражений, довольно хороший способ узнать. –

+0

Хорошо. Потрясающие. Благодаря! –