Как использовать REGEXREPLACE в Google Sheets для нескольких строк - PullRequest
0 голосов
/ 08 октября 2019

У меня есть столбец с таким Alpha :15s V1. Beta :15s V2. Delta :06s V3. Я пытаюсь использовать regexreplace, но он не удалит V из строки. Вот формула, которую я использовал до сих пор.

=REGEXREPLACE(T2, "[V]|[V1]-|[V2]|[V3]","")

Как мне заставить это работать, где я получаю вывод просто как Alpha :15s

Ответы [ 2 ]

1 голос
/ 08 октября 2019

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

=ARRAYFORMULA(IFERROR(REGEXEXTRACT(A2:A, "(.*) V")))

0

, что переводится как: извлечь все (.*) до пробела, за которым следует V (.*) V

1 голос
/ 08 октября 2019

Если я правильно вас понял, вы хотите удалить V1, V2 и V3 из конца вашего текста, для чего вам следует использовать V[123] регулярное выражение вместо [V]|[V1]-|[V2]|[V3] и, если быть более точным,, используйте \s*V\d*$ регулярное выражение.

enter image description here

Здесь \s* соответствует любому пробелу, затем соответствует V, а затем соответствует одной или нескольким цифрам и, наконец, $ соответствует концу строки.

И причина, по которой это не сработало для вас, заключается в том, что, когда вы помещаете символы в квадратные скобки, он называется классом символов и соответствует любому одному символу в квадратных скобках. Следовательно, [V1] будет соответствовать либо V, либо 1 и заменять его пустой строкой, что не соответствует вашим ожиданиям.

...