Files
ctbjrj/tools/test_spec_split.py

30 lines
920 B
Python

# -*- coding: utf-8 -*-
"""用 C# 同款拆分规则验证正泰格式的型号规格拆分(拆规格与名称)。"""
import re
def 拆(原始):
# 找最长连续中文段(>=2字)
best = None
for m in re.finditer(r'[\u4e00-\u9fa5]{2,}', 原始):
if best is None or len(m.group()) > len(best.group()):
best = m
if best:
名称 = best.group()
规格 = (原始[:best.start()] + ' ' + 原始[best.end():]).strip()
规格 = re.sub(r'\s+', ' ', 规格).strip(' -/')
return 规格, 名称
return 原始.strip(), ''
cases = [
"CA1-100/4300B/40A 断路器",
"CH1-63C16/1P",
"DJMB2 220/36 0.3kVA",
"RT12-63/4P 40A",
"CM3-63M/33002/50A 塑壳断路器",
"LAM-C40/4P",
"CH1L-32C20/1N 剩余电流断路器",
]
for c in cases:
规格, 名称 = 拆(c)
print(repr(c), '→ 规格:', repr(规格), ' 名称:', repr(名称))