regex - 在谷歌表格脚本中使用正则表达式整理名称
问题描述
我正在尝试使用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"。
在过去的几个小时里,我一直在尝试了解正则表达式,但无法找到答案。非常感谢任何帮助。
解决方案
感谢 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);
}
也许不是最优雅的方式,但问题解决了,谢谢。
推荐阅读
- vue.js - 剃须刀页面的动态更新
- c++ - 在有和没有 TUI 的情况下,从析构函数中抛出的行为会有所不同
- julia - Julia:如何为新的数组类型编写 repl 的打印方法?
- css - 如何调整角度材料组件的大小
- c++11 - suse linux中regcomp()中的分段错误
- xml - 需要删除创建的空元素并添加列表
- flutter - 如何在 Flutter 的 showModalBottomSheet 上添加按钮(或其他 Widget)?
- python - 基于 JSON 字典键的 CSV 标头
- ios - 如何最大化 TableViewCell 反应绑定性能?
- python - SyntaxError:python3 中的语法无效 astype('float32')[:limit]