小编Vic*_*tin的帖子

使用 Python 正则表达式从字符串中提取十进制数

我使用 Python 的 re 库尝试了这个。从一个文件中,我得到了几行,其中包含由条形 ('|') 分隔的元素。我把它们放在一个列表中,我需要的是获取里面的数字以便与它们一起操作。

这将是我想要拆分的字符串之一:

>>print(line_input)
>>[240, 7821, 0, 12, 605, 0, 3]|[1.5, 7881.25, 0, 543, 876, 0, 121]|[237, 761, 0, 61, 7, 605, 605]
Run Code Online (Sandbox Code Playgroud)

我的目的是用方括号之间的每个元素形成一个向量。

我创建了这个正则表达式

>>test_pattern="\|\[(\d*(\.\d+)?), (\d*(\.\d+)?), (\d*(\.\d+)?)]"
Run Code Online (Sandbox Code Playgroud)

但结果有点令人困惑。特别是,结果是

>>vectors = re.findall(test_pattern, line_input)

>>print(vectors)
>>[('240', '', '7821', '', '0', '', '12', '', '605', '', '0', '', '3', ''), ('1.5', '.5', '7881.25', '.25', '0', '', '0', '', '0', '', '0', '', '0', ''), ('23437', '', '76611', '', '0', '', '0', '', '0', '', '605', '', '605', …
Run Code Online (Sandbox Code Playgroud)

python regex

2
推荐指数
1
解决办法
5039
查看次数

标签 统计

python ×1

regex ×1