为了使文本标准化以进行模糊匹配,我试图将单个字母单词(主要是首字母缩写词的一部分)组合成一个单词。数字被忽略。下面是我所在的位置:
$strings = array("CROWN ROYAL X R CANADIAN WHISKEY", "CROWN ROYAL X R", "REMY V S O P 8 0", "BARTON L I I T");
$string = preg_replace('/\b([A-Z]){1}\s([A-Z]){1}\b/', '\1\2', $string);
结果:
“CROWN ROYAL XR 加拿大威士忌”、“CROWN ROYAL XR”、“REMY VS OP 8 0”、“BARTON LI IT”
我需要 VSOP 和 LIIT。我已经通过使用$string = preg_replace('/\b([A-Z]){1}\s([A-Z]){1}([A-Z]){1}\s([A-Z]){1}\b/', '\1\2\3\4', $string);
first 实现了一种解决方法,但我确定有一个更优雅且成本更低的解决方案?