python解析输出并返回一定的值

2024-06-23 18:46:09 发布

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

我的输出如下:

output = test:"<no-cjar> mxy 3044 jpg fasst_st

我想读取输出并只存储“mxy”之后和“jpg”之前的值。值始终为整数

我用了这样的方法:

value = re.findall(r"mxy \d+", output)

我想它会返回“mxy 3044”。我不太确定这是不是最好的办法。因为我可能得再分一次

这是对的吗?还有别的方法我也可以这么做吗。提前谢谢


Tags: 方法notestreoutputvalue整数jpg
2条回答

交替方法,假设字符串的格式不变,即mxy后跟空格和4位数字

output = "<no-cjar> mxy 3044 jpg fasst_st"
n = int(output.split('mxy')[1][0:6])
print(n) # gives 3044

只是做同一件事的不同方式,但没有正则表达式

使用capturing group

value = re.findall(r"mxy\s*(.*?)\s*jpg", output)

\s*匹配零个或多个空格。或r"mxy\s*(\d+)\s*jpg"

示例:

>>> re.findall(r"mxy\s*(.*?)\s*jpg", 'test:"<no-cjar> mxy 3044 jpg fasst_st')
['3044']

相关问题 更多 >

    热门问题