извлечь текст между вкладками - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть строка, разделенная табуляцией

13723181    2018-04-26 14:57:35 NULL    2   5   put quotes around,this.text 1   2018-04-26 14:57:35 NULL    921011  1499

, использующая "\ t" в качестве символа табуляции, просто чтобы уточнить расположение фактических вкладок

13723181 \t 2018-04-26 14:57:35 \t NULL \t 2 \t 5 \t put quotes around,this.text \t 1 \t 2018-04-26 14:57:35 \t NULL \t 921011 \t 1499

Я хочу иметь возможностьпереписать эту строку в «правильную» CSV-строку, которая выглядит следующим образом:

13723181,2018-04-26 14:57:35,NULL,2,5,"put quotes around,this.text",1,2018-04-26 14:57:35,NULL,921011,1499

Полагаю, это можно сделать в два этапа:

  1. поставить кавычкивокруг текста, который содержит запятую и окружен вкладками
  2. заменить все вкладки запятыми

шаг 2 очень прост ... Я изо всех сил на шаге 1, как найтиподстрока, содержащая запятую, которая окружена вкладками, но сама вкладка не содержит .. Я чувствую, что довольно близок с

(?<=\t)(.*,.*?)(?=\t)

, но это соответствует 2018-04-26 14:57:35 NULL 2 5 put quotes around,this.text, а не put quotes around,this.text я хочуиспользовать ...

1 Ответ

0 голосов
/ 30 ноября 2018

иногда вы просыпаетесь с ответом <1 минута после отправки вопроса:) </p>

(?<=\t)([^\t]+,[^\t]+)(?=\t)

работает именно так, как мне нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...