2024-06-23 18:46:09 发布
网友
我的输出如下:
output = test:"<no-cjar> mxy 3044 jpg fasst_st
我想读取输出并只存储“mxy”之后和“jpg”之前的值。值始终为整数
我用了这样的方法:
value = re.findall(r"mxy \d+", output)
我想它会返回“mxy 3044”。我不太确定这是不是最好的办法。因为我可能得再分一次
这是对的吗?还有别的方法我也可以这么做吗。提前谢谢
交替方法,假设字符串的格式不变,即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"
\s*
r"mxy\s*(\d+)\s*jpg"
示例:
>>> re.findall(r"mxy\s*(.*?)\s*jpg", 'test:"<no-cjar> mxy 3044 jpg fasst_st') ['3044']
交替方法,假设字符串的格式不变,即mxy后跟空格和4位数字
只是做同一件事的不同方式,但没有正则表达式
使用capturing group
\s*
匹配零个或多个空格。或r"mxy\s*(\d+)\s*jpg"
示例:
相关问题 更多 >
编程相关推荐