У меня есть требование разделить строку с регулярным выражением по нескольким правилам, и я делаю что-то с помощью предыдущих постов здесь, но я не знаю, как это сделать полностью.
Входная строка (намеренно написана безобразно):
Berlin "New York"Madrid 'Frankfurt Am Main' Quebec Łódź München Seattle,Milano
Код разделения:
Dim subStrings() As String = Regex.Split(myText, """([^""]*)""|,| ")
Результат:
0)
1)
2)Berlin
3)
4)New York
5)Madrid
6)'Frankfurt
7)Am
8)Main'
9)Quebec
10)Łódź
11)
12)
13)München
14)Seattle
15)Milano
Короче говоря, строка должна быть разбита на массив "" (пробел) и / или "," char и / или одинарной или двойной кавычкой. Цитируемые термины следует рассматривать как одно слово. Это означает, что термин в одинарных кавычках (в месте 6) будет рассматриваться так же, как термин в двойных кавычках. Таким образом, «Франкфурт на Майне» на 6-м месте будет «одним словом», таким же, как «Нью-Йорк» на 4-м месте. Также мне хотелось бы, чтобы можно было сделать регулярное выражение, чтобы пустые совпадения не go с subStrings () массив. В конце концов идеальный результат из приведенного примера должен быть таким:
0)Berlin
1)New York
2)Madrid
3)Frankfurt Am Main
4)Quebec
5)Łódź
6)München
7)Seattle
8)Milano
Итак, пожалуйста, если кто-то знает, как решить это конкретное регулярное выражение для меня.