Skip to main content
 首页 » 编程设计

python之将 4.7uF 替换为 4U7 的正则表达式

2025年05月04日23bluestorm

我正在为正则表达式而苦苦挣扎。是否可以使用正则表达式将电子元件值从标准形式解析为速记形式:

 4.7pF    >  4P7 
 16.2kΩ   >  16K2 
 22.6nH   >  22N6 

理想情况下,正则表达式会找到小数点后的字母,并将其插入到小数点的位置。如果我们可以砍掉单位的尾随字母/符号也很好。

到目前为止,我正在匹配十进制数,但不确定如何在匹配组之后获取字母,然后不知道如何进行替换。

干杯

请您参考如下方法:

在Python中,你可以使用

result = re.sub(r'(\d+)(?:\.(\d+))(\w).*', r"\1\3\2", test_str).upper() 

Ideoene Demo