Как использовать RegExReplace в Google Spreadsheet - PullRequest
7 голосов
/ 18 ноября 2011

Я пытаюсь удалить начальные числа из столбца электронной таблицы Документов Google с помощью регулярных выражений. Я не могу заставить функцию RegExReplace работать. Это ошибка, которую я получаю при запуске / отладке кода:

Missing ) after argument list. (line 14)

Это часть моего кода (строка 14 - это строка функции RegExReplace, выделена жирным шрифтом):

regexFormat = "^[0-9]+$";
replVal = value.RegExReplace(value; regexFormat; "");  //error here

rplc.setValue(replVal);

Это официальный синтаксис: RegExReplace( text ; regular_expression ; replacement )

Кто-нибудь знает, как использовать эту функцию? Спасибо!

Ответы [ 3 ]

4 голосов
/ 12 июня 2013

Я не знаю, почему в документах указывается точка с запятой, но если вы делаете это как функцию электронной таблицы, вам все равно нужно использовать запятые.Попробуйте следующее:

=REGEXREPLACE("What-A Crazy str3ng", "\W", "")

Что, как и ожидалось, дает

WhatACrazystr3ng

2 голосов
/ 19 ноября 2011

Я нашел другое решение для замены на регулярное выражение в Google Docs Script:

var replace = '';//because we want to remove matching text
var regexp2 = new RegExp("[0-9]*[\.]*");//an example of regexp to do the job
var valcurat = value.replace(regexp2, replace);//working

Поскольку я не нашел решения для RegExReplace, я изменил метод с помощью replace (regexp, new_text). Этот работает.

0 голосов
/ 18 ноября 2011

Это только предположение, но если функция Javaish, возможно, есть 2 формы.
Форма 1:
myvar = RegExReplace(value; regexFormat; "");
Form2:
myvar = value.RegExReplace(regexFormat; "");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...