| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| import re |
|
|
| from .num import num2str |
|
|
| |
| |
| RE_TEMPERATURE = re.compile(r'(-?)(\d+(\.\d+)?)(°C|℃|度|摄氏度)') |
| measure_dict = { |
| "cm2": "平方厘米", |
| "cm²": "平方厘米", |
| "cm3": "立方厘米", |
| "cm³": "立方厘米", |
| "cm": "厘米", |
| "db": "分贝", |
| "ds": "毫秒", |
| "kg": "千克", |
| "km": "千米", |
| "m2": "平方米", |
| "m²": "平方米", |
| "m³": "立方米", |
| "m3": "立方米", |
| "ml": "毫升", |
| "m": "米", |
| "mm": "毫米", |
| "s": "秒" |
| } |
|
|
|
|
| def replace_temperature(match) -> str: |
| """ |
| Args: |
| match (re.Match) |
| Returns: |
| str |
| """ |
| sign = match.group(1) |
| temperature = match.group(2) |
| unit = match.group(3) |
| sign: str = "零下" if sign else "" |
| temperature: str = num2str(temperature) |
| unit: str = "摄氏度" if unit == "摄氏度" else "度" |
| result = f"{sign}{temperature}{unit}" |
| return result |
|
|
|
|
| def replace_measure(sentence) -> str: |
| for q_notation in measure_dict: |
| if q_notation in sentence: |
| sentence = sentence.replace(q_notation, measure_dict[q_notation]) |
| return sentence |
|
|