我正在尝试使用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”。
在过去的几个小时里,我一直在尝试学习正则表达式,但是却找不到答案。任何帮助表示赞赏。
答案 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);
}
也许不是最优雅的方式,但是问题解决了,谢谢。