Skip to main content
 首页 » 编程设计

python之用于解析 python 中 float 列表的正则表达式

2025年05月04日24lonelyxmas

在 python 中解析由空格分隔的 float 列表的最佳原因是什么?

我有这样的行,它们将来自一个源:

string = "  4    1.6  8.29   0   0  3.55e-15 -1.28e-13   "  

用未知数量的空格分隔数字和字符串的开头或结尾。

我通常只使用 numbers = map(float, string.split("")) 当我可以保证数字之间只有一个空格,并且不会有空格时在字符串的开头或结尾。我不擅长正则表达式,但有人建议我使用 re.split("\s+", string) 但这不起作用,因为有时我在结果的开头得到空字符串列表。

我现在正在使用:re.split("\s+") 但这不起作用,因为有时我在结果列表的开头得到空字符串。

我现在正在使用:

res = map(float, re.findall("\d+\S*\d*", string) 

它以某种方式工作,但在我看来又脆弱又丑陋。它可以匹配许多无法生成数字的字符串。

最好的正则表达式模式是什么,它总是匹配带或不带指数符号的整数和 float ,以便我可以使用 re.findall(patt, string) 并安全地恢复数字列表?

请您参考如下方法:

不需要正则表达式。只需使用不带任何参数的 string.split();它将拆分任意数量的空白。