Заменить / удалить все после первого + символа в datastudio - PullRequest
1 голос
/ 28 апреля 2020

У меня есть строка, похожая на эту (сохраненная как значение действия события из Google Analytics)

0 + 171235652 ++ zu

или

122 + 115166747 + + ru

Я хотел бы (с использованием полей вычисления) создать новое поле, в котором будет отображаться только число перед первым символом «+». Таким образом, в приведенных выше примерах

0 или 122

То, что я пробовал, было (ниже), но это не помогло, есть идеи?

REGEXP_REPLACE(Event Action, '(^\\+).*', '')

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Шаблон, который вы пробовали (^\\+).*, не работал, потому что эта часть ^\\+ соответствует началу строки, за которым 1 или более раз ставится знак плюс.


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

Используйте группу 1, используя \\1 при замене .

^(\\d+)\\+.*

По частям

  • ^ Начало строки
  • (\\d+) Захват группа 1 , соответствует 1 или более цифрам
  • \\+.* Соответствует символу + и 0 или более раз любому символу, кроме новой строки

Regex demo

Пример кода

REGEXP_REPLACE(Event Action, '^(\\d+)\\+.*', '\\1')
1 голос
/ 28 апреля 2020

Вы можете использовать

REGEXP_EXTRACT(Event Action, '^([^+]+)')

См. Регулярное выражение в действии . Соответствие регулярному выражению:

  • ^ - начало строки
  • ([^+]+) - Группа захвата 1: любой один или несколько символов, отличных от + (вы можете использовать ([^+]*), если вы также хотите получить пустое совпадение, когда + является первым символом).

Если вы хотите заменить функцию, вы можете использовать

REGEXP_REPLACE(Event Action,"[+].*","")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...