#vb.net
#vb.net
Вопрос:
У меня есть текстовый файл с именем range.txt
со следующим содержимым:
MTN_G_ST_TT: i=67:a=89
Мне нужно получить значение 67
в переменной с именем gbl_min
и 89
в переменной с именем gbl_max
.
Комментарии:
1. И? Что вы пробовали? Что вы знаете об этих данных? Всегда ли это будет
i=
иa=
, или могут быть другие значения? Как насчет части MTN_G_ST_TT? Как это может измениться? Могут ли быть дополнительные разделы? Могут ли значения когда-либо содержать десятичные точки, отрицательные знаки или другие числовые артефакты? Как насчет пробелов? Эмпирическое правило здесь и в любом другом месте заключается в том, что вы должны ожидать столько усилий в ответах, которые вы получаете, сколько вы вложили в заданный вами вопрос.
Ответ №1:
Хотя информация в вопросе крайне неадекватна, вот попытка:
Dim data As String = File.ReadAllText("range.txt") 'MTN_G_ST_TT:i=67:a=89
Dim results = Regex.Matches("[ai]=([0-9] )(:|$)", data)
gbl_min = Integer.Parse(results.Item(0).Groups(1).Value)
gbl_max = Integer.Parse(results.Item(1).Groups(1).Value)
Ответ №2:
Вы читаете и разделяете текст:
Using sr As New IO.StreamReader("C:\tmprange.txt")
Dim strLineData As String = sr.ReadLine()
Dim oArr = strLineData.Split(":")
If oArr.Length = 3 Then
Dim gbl_min = oArr(1).Replace("i=", "")
Dim gbl_max = oArr(2).Replace("a=", "")
End If
End Using