Я пытаюсь использовать REGEX в Google Таблицах для очистки данных формы, поступающих как данные с запятой с произвольными ведущими запятыми и одиночными пробелами.REGEXREPLACE в Google Spreadsheet
выборочные данные из формы:
,, Холодильник ,,,,, ,, Slide ,, Dual Slide ,, Микроволновая печь ,, Крытый душ, встроенный в Stereo, день/ночь переключатель ,, BluRay DVD/
Я хочу использовать
REGEXREPLACE(text, regular_expression, replacement)
, чтобы удалить несколько запятые и одиночные пробелы, которые могут возникнуть между запятыми, заменяя с одной запятой, так что линия читает
Холодильник, Слайд, Двойной Слайд, СВЧ-печь,. , , и т.д.
матч строка (^,+|(,+ ,)|,+)
works properly in the Rubular.com simulator, но при использовании в электронной таблице Google, как в примере с исходными данными выше вклеенными в ячейки M12 в качестве исходного текста:
REGEXREPLACE("M12","(^,+|(,+ ,)|,+)",",")
это терпит неудачу, не удаляя один из ведущие запятые.
, Холодильник ,,,,, ,, Slide ,, Dual Slide ,, Микроволновая печь ,, Крытый душ, встроенный в Stereo, день/ночь переключатель ,, BluRay/DVD
Googlesheet Справка REGEX указывает на https://github.com/google/re2/blob/master/doc/syntax.txt, который, похоже, описывает операции так же, как и симулятор.
Возможно также '= REGEXREPLACE (M12, "(^ |,) [,] +", "$ 1")' – AdamL
@AdamL да что будет работать для примера OP. Во время тестирования я закрывал дополнительные пробелы до/после значений, но тоже, хотя на всякий случай! –
James, Adam: Большое спасибо за комментарии и подробное объяснение - пытаясь узнать некоторые новые трюки в возрасте 66 лет, но я люблю играть с бритвенными лезвиями. Приятно видеть, как профессиональные программисты думают выше очевидного. – axmc