在Google表格脚本中使用正则表达式整理名称

时间:2019-01-05 10:27:28

标签: regex google-apps-script

我正在尝试使用Google工作表脚本和regexp查找简洁的代码来标准化名称。 每个值(全部大写)的名字由1或2个字组成。 然后是第二个名字,只有名字的首字母。如果是组合名称,则有2个缩写。当有两个首字母缩写时,格式会有很大差异。

我要使用Google脚本实现的目标:保持名字全名,然后将名字标准化为一个或两个字符,再加上一个点。

“ LE FARD MA。” ,“ LE FARD M.A.” ,“ LE FARD M-A”,“ LE FARD M A”。 ,“ LE FARD M. A.” ,“ LE FARD M.-A.” ,“ LE FARD M-A”。 :应全部返回“ LE FARD MA”。

“ FARD P”。 ,“ FARD P”:应该返回“ FARD P”。

在过去的几个小时里,我一直在尝试学习正则表达式,但是却找不到答案。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

多亏了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);
}

也许不是最优雅的方式,但是问题解决了,谢谢。