Регулярное выражение для извлечения чисел из длинной строки, содержащей много знаков препинания - PullRequest
0 голосов
/ 27 августа 2009

Я пытаюсь отделить числа от строки, которая включает %,/, и т. Д., Например (%2459348?: или :2434545/%). Как я могу отделить его, в VB.net

Ответы [ 4 ]

6 голосов
/ 27 августа 2009

Вы хотите только цифры, верно?

тогда вы могли бы сделать это так

    Dim theString As String = "/79465*44498%464"
    Dim ret = Regex.Replace(theString, "[^0-9]", String.Empty)

НТН

редактирование:

или вы хотите разделить все нечисловые символы? тогда это будет так

Dim ret = Regex.Split(theString, "[^0-9]")
0 голосов
/ 27 августа 2009

Вот функция, которая извлекает все числа из строки.

Public Function GetNumbers(ByVal str as String) As String
  Dim builder As New StringBuilder()
  For Each c in str
    If Char.IsNumber(c) Then
      builder.Append(c)
    End If
  Next
  return builder.ToString()
End Function
0 голосов
/ 27 августа 2009

Это должно сделать:

Dim test As String = "%2459348?:"
Dim match As Match = Regex.Match(test, "\d+")

If match.Success Then
  Dim result As String = match.Value
  ' Do something with result
End If

Результат = 2459348

0 голосов
/ 27 августа 2009

Вы можете перебрать каждый символ строки и проверить .IsNumber () на нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...