Как исключить разделители внутри классификаторов текста с помощью Regex?

Я пытаюсь исключить разделители в текстовых квалификаторах. Для этого я пытаюсь использовать Regex. Тем не менее, я новичок в Regex и не могу полностью удовлетворить свои потребности. Я был бы очень признателен, если бы кто-нибудь смог мне помочь.

В Alteryx я загружаю текстовый файл с разделителями как "без разделителей" и говорю, что у него нет текстовых квалификаторов. Таким образом, вход будет выглядеть примерно так:

  1. "AABB" | ccdd | Eeff | gghh
  2. "Аа | бб" | ccdd | Eeff | gghh
  3. "Аа | бб" | ccdd | "й | ФФ" | gghh
  4. "Аа | бб" | "куб.см | дд" | "й | FF" | "| GG чч"
  5. "AABB" | "ccdd" | "Eeff" | "gghh"
  6. "AABB" | "ccdd" | "Eeff" | "гг | чч"
  7. ААББ | ccdd | Eeff | gghh
  8. "аа | бб" | ccdd | Eeff | "| GG чч"
  9. ААББ | куб.см | дд | Eeff | gghh
  10. ААББ | "куб.см || д" | Eeff | gghh
  11. ААББ | "с | с | д" | Eeff | gghh
  12. "Аа || бб" | ccdd | Eeff | gghh
  13. "А | | б | б" | ccdd | Eeff | gghh
  14. "AABB" | ccdd | Eeff | "г | г | чч"
  15. "AABB" | ccdd | Eeff | "|| гг чч"

Я хочу исключить все разделители, которые находятся между квалификаторами текста.

Я пытался использовать Regex, чтобы заменить разделители в текстовых квалификаторах ничем.

До сих пор я пробовал следующий код Regex для моей цели:

(")(.*?[^"])\|+(.*?)(")

И я использовал следующее для моей замены: $1$2$3$4

Однако это не исправит строки 11, 13, 14 и 15.

Я хочу получить следующие результаты:

  1. "AABB" | ccdd | Eeff | gghh
  2. "AABB" | ccdd | Eeff | gghh
  3. "AABB" | ccdd | "Eeff" | gghh
  4. "AABB" | "ccdd" | "Eeff" | "gghh"
  5. "AABB" | "ccdd" | "Eeff" | "gghh"
  6. "AABB" | "ccdd" | "Eeff" | "gghh"
  7. ААББ | ccdd | Eeff | gghh
  8. "AABB" | ccdd | Eeff | "gghh"
  9. ААББ | куб.см | дд | Eeff | gghh
  10. ААББ | "ccdd" | Eeff | gghh
  11. ААББ | "ccdd" | Eeff | gghh
  12. "AABB" | ccdd | Eeff | gghh
  13. "AABB" | ccdd | Eeff | gghh
  14. "AABB" | ccdd | Eeff | "gghh"
  15. "AABB" | ccdd | Eeff | "gghh"

Заранее спасибо за помощь!

С уважением, Робин

1 ответ

Я не могу придумать правильный синтаксис в REGEX, если вы не добавляете каждый шаблон, который можно найти.

Однако более простым способом (возможно, не таким быстродействующим) будет использование параметра "Текст в столбцы" с выбором "Игнорировать разделители в кавычках". Если вам понадобится снова собрать их вместе в одной ячейке, вы можете транспонировать, а затем удалить разделители, а затем суммировать, чтобы объединить каждую группу RecordID.

Другие вопросы по тегам