Регулярное выражение для разделения запятой со строкой - PullRequest
0 голосов
/ 14 января 2020

Мне пришлось разделить строковые данные на основе запятой.

Это данные Excel: - Пожалуйста, найдите данные Excel

string strCurrentLine = "\" Himalayan Солевой скраб для тела с эфирным маслом личи от Majesti c Pure, полностью натуральный скраб для отшелушивания и увлажнения кожи, 12 унций \ ", SKU_27, \" Tombow Dual Bru sh маркеры для рисования пером, портрет, 6 шт. ", SKU_27, My Shopify Store 1, Valid, NonInventory ".

Regex CSVParser = new Regex (", (? = (?: [^ \ "] \" [^ \ "] \ ") ([^ \?!"] \ "))"); string [] lstColumnValues ​​= CSVParser.Split (strCurrentLine);

Я прикрепил изображение. Проблема в том, что я использовал Regex, чтобы разделить строку запятой, но мне нужен выход, как в SKU_27, потому что строка [0] и строка 2 содержит прямое и обратное sla sh. Мне нужна строка вывода 1 и удаляем прямое и обратное sla sh.

Ответы [ 2 ]

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

Я не уверен, спрашиваете ли вы, как удалить двойные кавычки из lstColumnValues[0] и lstColumnValues[2] или добавить их в lstColumnValues[1].

Чтобы удалить двойные кавычки, просто используйте Replace:

string myString = lstColumnValues[0].Replace("\"", "");

Если вам нужно добавить их:

string myString = $"\"{lstColumnValues[1]}\"";
0 голосов
/ 14 января 2020

Файл, похоже, файл CVA. Чтобы CVA был правильно отформатирован, он будет использовать кавычки "" для переноса строк, содержащих запятую, таких как

id, name, date 1, «Некоторый текст, который включает запятую», 2020/01/01

Просто разделите строку запятой, вы получите 2-й столбец с двойной кавычкой.

...