已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
昨天关门了。
Improve this question
我有一个如下的字符串:
"1 Case (321000, number of steps 100), 2 Case (322000, number of steps 23)"
这里321000
和322000
是案例ID。我想检测它们(类似于以下模式:"\((.\d+),"
,基本上是(
和,
之间的每一位),检查它们是否为4位长,如果不是,则删除所需数量的第一位,以使它们为4位长。
因此,这里的预期输出为:
"1 Case (1000, number of steps 100), 2 Case (2000, number of steps 23)"
在python中有什么方法可以做到这一点吗?比如用regex?谢谢!
1条答案
按热度按时间lx0bsm1f1#
下面来解释@tripleee的精彩回答:
\(
:匹配左括号,如您指定的\d+
:检测一个或多个数字,这部分是任意长度的数字,因为如果需要,我们将删除这部分(\d{4})
:指定恰好具有4位数字的捕获组,如果需要截断其他数字,则将保留这些数字,
:应该跟在数字后面的结束逗号第二个参数是replacement(替换),它写入包含的
(
和,
,并在它们之间放置\1
,这意味着找到的第一个捕获组。