упираясь в строку в c#, но термин состоит из "," так что я не хочу, чтобы она была разделена? Я пробовал это - PullRequest
1 голос
/ 23 января 2020
string mystr = clause.Replace("\"", "");

whereArray = mystr.TrimEnd(']').TrimStart('[').Split(',');

поэтому в whereArray я получаю это

"DigitalMedia","=","Snapchat","AND","Impressions","IN","14,15,24"

так что в основном я хочу вот так

whereArray[0] = "DigitalMedia"

whereArray [1] = "="

whereArray [2] = "Snapchat"

whereArray [3] = "AND"

whereArray [4] = "Impressions"

whereArray [5] = "IN"

whereArray [6] = "14,15,24"

и пробую это

whereArray = mystr.TrimEnd(']').TrimStart('[').Split(',');

это то, что я получаю

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

я использовал это регулярное выражение "(?: ^ |,) (\" (?: [^ \ "] + | \" \ ") \" | [^,] ) ", но я все еще оставляю с собой такую ​​строку со мной "\" myCharacter ", поэтому я запускаю il oop и удаляю \" с помощью whereArray [i] .Remove (0, 2); так что на данный момент это работает .. я найти более лучший способ!

0 голосов
/ 23 января 2020

Вы можете использовать RegEx с группой захвата, чтобы держать весь контент между "". Например, используя этот шаблон:

".+?"

Пожалуйста, прочитайте группы регулярных выражений в c# вопрос , если вы хотите пример кода.

...