2015-09-07 2 views
1

Я хотел бы, чтобы извлечь числа в строку, как этотVB получить числа образуют текстовое поле/строка

[Helpdesk- TestUser - 10406] случай # 10405 является зарегестрирована.

позволяет сказать, что я хотел бы извлечь 10406 ​​из этой строки, не могли бы вы определить, что числа до «]» являются целью? или после «#», и как я буду продолжать?

+0

делает число останется с в '-' и'] '(например,' - 10407] ') ?? –

+0

номер остается в [example - «10407»] и после случая «#» – Itszani

+0

'after case" # 'после или до –

ответ

2

Если я правильно понял, для определения номера можно было бы использовать следующее решение.

первого импорта следующей библиотека

Imports System.Text.RegularExpressions 

и

Dim mytext As String = "[Helpdesk- TestUser - 10406] case # 10405 is registred." 
    Dim arr As String() = mytext.Split("]") 

    Dim FirstNumber = Regex.Replace(arr(0), "\D", "") 
    ' this will fetch first number i.e 10406 

    Dim SecondNumber = Regex.Replace(arr(1), "\D", "") 
    ' this will fetch second number i.e 10405 

Если это не подходит вашим искать, то просьбу пояснить свой вопрос или комментарий

По OP's comment

Следующий метод будет проходить через все число в данной строке

Dim mytext5 As String = "case 10405 [Helpdesk- TestUser - 10406] case # 10405 is registred." 
     Dim arr1 As String() = mytext5.Split(" ") 
     For Each itm As String In arr1 
      Dim num As Object 
      num = Regex.Replace(itm, "[^0-9]", "") 
      If IsNumeric(num) Then 
       'Your Code 
      End If 
     Next 
+1

Спасибо, это именно то, что я искал! – Itszani

+0

@Itszani Cheers !! –

+0

one более того, что, если я хочу добавить текст типа «Вот число« + »число« infront of »[?? – Itszani

1

вы могли бы попробовать что-то вроде этого .....

scanStr = "[Helpdesk- TestUser - 10406] case # 10405 is registred" 

StartPos = Instr(scanStr, "#") 
EndPos = Instr(scanStr, " in") 

strSubstr = Mid$(scanStr, StartPos , (EndPos - StartPos)) 
Смежные вопросы