Google Sheets регулярно извлекает несколько текстовых строк из ячейки - PullRequest
1 голос
/ 22 апреля 2020

Я пытаюсь извлечь информацию о хэштеге из ячейки данных Twitter в листах Google.

Мы можем назвать эту ячейку A1:

[{"text":"QOTD","indices":[13,18]},{"text":"CSEC4CG","indices":[87,95]},{"text":"myCSEC","indices":[96,103]},{"text":"Connecticut","indices":[104,116]},{"text":"GiveBack","indices":[117,126]},{"text":"COVID19","indices":[127,135]}]

В идеальной ситуации я смог бы чтобы произвести это в другой ячейке, извлеченной из A1:

#QOTD #CSEC4CG #myCSEC #Connecticut #Giveback #COVID19

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

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 22 апреля 2020

Вы хотите добиться следующего преобразования с помощью встроенных функций в Google Spreadsheet.

  • С

        [{"text":"QOTD","indices":[13,18]},{"text":"CSEC4CG","indices":[87,95]},{"text":"myCSEC","indices":[96,103]},{"text":"Connecticut","indices":[104,116]},{"text":"GiveBack","indices":[117,126]},{"text":"COVID19","indices":[127,135]}]
    
  • К

        #QOTD #CSEC4CG #myCSEC #Connecticut #Giveback #COVID19
    

Если мое понимание верно, как насчет этого ответа?

Пример формулы:

=TRIM(REGEXREPLACE(REGEXREPLACE(A1,"\[|\]|,",""),"{""text"":""(.+?)""""indices"":.+?}"," #$1"))
  • В этом случае Предполагается, что входное значение помещается в ячейку «A1».
  • Последовательность действий следующая.
    1. Заменить \[|\]|, на "", используя REGEXREPLACE.
    2. Заменить {""text"":""(.+?)""""indices"":.+?} на " #$1", используя REGEXREPLACE.
    3. Верхнее пространство удаляется с помощью TRIM.

Результат:

enter image description here

Ссылки:

...