我在Google脚本中使用正则表达式来规范化公司名称,虽然我通过替换某些单词,标点符号和空格的组合非常接近完美,但我的最后一步是替换任何3个或更少的字母单词(不是数字)。
但是,在一开始他们的名字,即AB控股公司,它就摆脱了一些公司的缩略语。我不希望这与AB匹配,我希望它能找到罕见的" The"或公司代码(特别是SPA和NV以及Co和Inc等外国代码)。这些代码不一定在字符串的末尾,但它们在开头之后似乎总是至少有4个字符。
我目前正在使用
text = text.replace(/\b[a-z]{1,3}\b)/i," ");
忽略[a-z]作为缺失的上限,我已单独处理
我认为可行的是"跳过"前几个字符,可能是4个是安全的,并且可能学习如何在将来包含空格和/或数字。所以我在看到其他1个相关问题后写了这个。
text = text.replace(/((.{4})(.*)\b[a-z]{1,3}\b)/i," ");
Scipts似乎没有允许后视,我的版本似乎不起作用。我输了。
感谢您的帮助。
澄清的编辑
答案 0 :(得分:0)
您是否尝试将字符串的结尾与" $"匹配?
所以它看起来像
text = text.replace(/\b[a-z]{1,3}\b$)/i," ");
这样可以避免在首字母缩略词
之后匹配任何单词