python 解析输出和 return 特定值
python parse output and return certain value
我的输出如下:
output = test:"<no-cjar> mxy 3044 jpg fasst_st
我想读取输出并仅存储 'mxy' 之后和 'jpg' 之前的值。该值始终是一个整数。
我使用了类似的东西:
value = re.findall(r"mxy \d+", output)
我认为 return 'mxy 3044'。我不太确定这是否是最好的方法。因为我可能不得不再次拆分它。
这是对的吗?有没有其他方法可以让我做同样的事情。提前致谢。
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']
替代方法,假设您的字符串格式不变,即它有 mxy 后跟 space 和 4 位数字。
output = "<no-cjar> mxy 3044 jpg fasst_st"
n = int(output.split('mxy')[1][0:6])
print(n) # gives 3044
只是做同样事情的不同方式,但没有正则表达式。
我的输出如下:
output = test:"<no-cjar> mxy 3044 jpg fasst_st
我想读取输出并仅存储 'mxy' 之后和 'jpg' 之前的值。该值始终是一个整数。
我使用了类似的东西:
value = re.findall(r"mxy \d+", output)
我认为 return 'mxy 3044'。我不太确定这是否是最好的方法。因为我可能不得不再次拆分它。
这是对的吗?有没有其他方法可以让我做同样的事情。提前致谢。
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']
替代方法,假设您的字符串格式不变,即它有 mxy 后跟 space 和 4 位数字。
output = "<no-cjar> mxy 3044 jpg fasst_st"
n = int(output.split('mxy')[1][0:6])
print(n) # gives 3044
只是做同样事情的不同方式,但没有正则表达式。