Как разбить следующую строку и узнать идентификатор бронирования - PullRequest
0 голосов
/ 23 мая 2019

У меня есть следующая строка в строке текстового файла:

string = "BOOKINGID=["15786176","priyanka.b.bhardwaj@ericsson.com"]"

Мне нужно получить 15786176 в результате.

Dim line as String()="BOOKINGID=["15786176","priyanka.b.bhardwaj@ericsson.com"]"
Arrayline = line.Split("=")
Dim tmparr As String() = Arrayline(1).Split(",")        ' Regex.Split(Arrayline(1), pattern)
                    Dim BookingIDrr As String() = tmparr(0).Split("[")(1).Split("\""")

Мой код дает "15786176", а мне нужно только 15786176. как убрать эти лишние двойные кавычки (")

Ответы [ 2 ]

1 голос
/ 23 мая 2019

Вот вариант с использованием регулярных выражений:

Dim Regex As System.Text.RegularExpressions.Regex
Dim SubjectString As String = "BOOKINGID=[""15786176"",""priyanka.b.bhardwaj@ericsson.com""]"
Dim ResultString As String = Regex.Replace(SubjectString, ".*""(\d+)"".*", "$1")
Console.WriteLine(ResultString) 

Это печатает:

15786176

Используется шаблон регулярного выражения .*""(\d+)"".*, который говорит, что соответствует числу, заключенному в двойные кавычки, которому самому предшествует и следует любой другой контент.

Обратите внимание, что API Regex.Replace, по-видимому, применяет шаблон ко всей строке, отсюда и необходимость в том, что было использовано выше.

1 голос
/ 23 мая 2019

Вы можете попробовать split('"') на всей линии в array и просто получить array[2]

...