Приведите в порядок имена, используя регулярные выражения в скрипте листов Google. - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь найти аккуратный код для стандартизации имен, используя скрипт google sheet и regexp. Каждое значение (все заглавные буквы) имеет имя, состоящее из 1 или 2 слов. Затем идет второе имя с только инициалом (ами). Если это составное имя, есть 2 инициала. Когда есть 2 инициала, форматирование сильно различается.

Чего я хочу добиться, используя скрипт Google: оставьте имя полностью и стандартизируйте второе имя как один или два символа, за которыми следует точка.

"LE FARD MA." "ЛЕ ФАРД М.А." , "ЛЕ ФАРД М-А", "ЛЕ ФАРД М-А" "ЛЕ ФАРД М.А." , "ЛЕ ФАРД М.-А." , "LE FARD M-A." : все должны возвращать "LE FARD MA."

"FARD P". , «FARD P»: должен возвращать «FARD P.»

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

1 Ответ

0 голосов
/ 05 января 2019

Благодаря комментарию s1c0j1 мне удалось получить работающий код.

function Test() {
  var a ="LE FARD M-A.";
  var regex = new RegExp(/(?:\s+)(\w?)(?:\.?\s?-?)(\w?)\.?$/);
  var res = regex(a);
  var haha = a.replace(res[0]," " + res[1] + res[2] + ".");
  Logger.log(haha);
}

Возможно, не самый элегантный способ, но проблема решена, спасибо.

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