在Python中将字符串替换为匹配模式

2024-10-04 05:20:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个像这样的字符串QH AAPL|5M|20190101093000|20190208170000|12347:M01/02/2019|F04:00:00|H154.4|L153.01|O154.4|T154|V3257,我想用M替换字符串开头到:M的所有字符。你知道吗

所以剩下的字符串应该是M01/02/2019|F04:00:00|H154.4|L153.01|O154.4|T154|V3257。你知道吗

我不知道如何在Python正则表达式中完成这项工作。请帮帮我!你知道吗


Tags: 字符串字符m01aaplqh帮帮我t154f04
2条回答

如果必须使用正则表达式:

import re
text = 'QH AAPL|5M|20190101093000|20190208170000|12347:M01/02/2019|F04:00:00|H154.4|L153.01|O154.4|T154|V3257'

regex = re.compile(r'.+:(M.+$)')
match = regex.search(text)

if match:
    print(match.group(1))

pythonstr.find()方法实现了这一点。举个例子:

a = "QH AAPL|5M|20190101093000|20190208170000|12347:M01/02/2019|F04:00:00|H154.4|L153.01|O154.4|T154|V3257"

print(a[a.find(":M") + 1:])  # -> M01/02/2019|F04:00:00|H154.4|L153.01|O154.4|T154|V3257

编辑

如果您真的想用regex来实现,请看下面的示例:

import re

a = "QH AAPL|5M|20190101093000|20190208170000|12347:M01/02/2019|F04:00:00|H154.4|L153.01|O154.4|T154|V3257"

print(a[re.search(":M", a).start() + 1:])  # -> M01/02/2019|F04:00:00|H154.4|L153.01|O154.4|T154|V3257

相关问题 更多 >