Python中文
首页
教程
问答
标签
搜索
登录
注册
如何使用regex将字符串中的数字格式化为2.5k到2.5e3
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在用python解析一个spice文件,其中包含字符串数学表达式,并且我正在将文本文件转换为python脚本。你知道吗</p> <p>文件中的数学表达式示例如下:</p> <pre><code>expr = 'k1 + 4.35k + 3.69meg*(pow(2.4u, 2*km2))' </code></pre> <p>我想找到表达式中的所有比例因子,并将它们转换为指数值:</p> <pre><code>scaling_factors = { 'g' : 'e9', 'meg': 'e6', 'k' : 'e3', 'm' : 'e-3', 'u' : 'e-6', 'n' : 'e-9', } </code></pre> <p>我想要的结果是:</p> <pre><code>converted_expr = 'k1 + 4.35e3 + 3.69e6*(pow(2.4e-6, 2*km2))' </code></pre> <p>我试过这个:</p> <pre><code>digits_re = r"([0-9]*\.[0-9]+|[0-9]+)k" sample = 'k1 + 4.3k' print(re.sub(digits_re, digits_re.replace('k', 'e3'), sample)) </code></pre> <p>输出:</p> <pre><code>k1 + \\de3 </code></pre> <p>但它不起作用</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我不确定是否有这样的图书馆。你知道吗</p> <p>其中一条评论建议您可以使用<strong>结构更换</strong>,但您必须编写自己的<em>循环</em>和<em>如果</em>条件,因为您只想在字母正确的位置替换它们。你知道吗</p> <p>我知道这并不能马上给你答案,但它可以指引你走向正确的道路。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在python中从数据帧列中删除分类值?
5 回答
如何在python中从数据帧列表中删除引号
1 回答
如何在python中从数据帧创建列表
9 回答
如何在Python中从数据帧创建嵌套的JSON
7 回答
如何在Python中从数据帧显示wordcloud
6 回答
如何在Python中从数据帧的时间戳中删除字符
8 回答
如何在Python中从数据帧绘制简单绘图?
4 回答
如何在python中从数据帧行提取具有特定长度的范围?
10 回答
如何在python中从数据帧设置dict中的值
6 回答
如何在Python中从数据库中获得一个结果
1 回答
如何在python中从数据框中绘制分类条形图
2 回答
如何在Python中从数据框中选择特定细节?
1 回答
如何在python中从数据集中删除unicode
7 回答
如何在python中从数据集中删除某些数值?
5 回答
如何在python中从数据集中选择行
1 回答
如何在Python中从数组中删除元素
8 回答
如何在python中从数组中删除单个倒逗号?
6 回答
如何在python中从数组中删除对象?
3 回答
如何在python中从数组中删除引号
9 回答
如何在python中从数组中删除所有最小值
7 回答