首页 > 解决方案 > 在谷歌表格脚本中使用正则表达式整理名称

问题描述

我正在尝试使用google sheet script和regexp找到一个简洁的代码来标准化名称。每个值(全部大写)都有一个由 1 或 2 个单词组成的名字。然后是第二个名字,只有首字母。如果是组合名称,则有 2 个首字母。当有 2 个首字母时,格式变化很大。

我想使用谷歌脚本来实现:保持第一个名字完整,并将第二个名字标准化为一个或两个字符,后跟一个点。

“勒法德妈妈。” ,“LE FARD MA”,“LE FARD MA”,“LE FARD MA”。, "LE FARD MA" , "LE FARD M.-A." , “LE FARD MA”。:都应该返回“LE FARD MA”。

“法德P”。, "FARD P" : 应该返回 "FARD P"。

在过去的几个小时里,我一直在尝试了解正则表达式,但无法找到答案。非常感谢任何帮助。

标签: regexgoogle-apps-script

解决方案


感谢 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);
}

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


推荐阅读