簡體   English   中英

Python-查找可變數目的子字符串之間的字符串

[英]Python - Find string between variable number of substrings

我有一個字符串,它是[-0.0597212 0.00344087 -0.23413301 0.02406648]

如您所見, [首先,在第一個和第二個值之間有3個空格,在第二個和第三個值之間有1個空格,在第3個和第4個值之間有2個空格,最后有]

我想用符號分解這4個數字值,並將這4個值分配給4個元素的數組。

例如;

a[0]=-0.0597212
a[1]=0.00344087
a[2]=-0.23413301
a[3]=0.02406648

通常會有128個元素帶有這樣的文本(最多3個空格,值之間最小1個空格),但是我想嘗試通過此示例找到解決方案。 我嘗試了split.strip()replace()函數,但沒有找到適合我的解決方案。 你能幫助我嗎 ?

list(map(float, txt[1:-1].split()))
a="[-0.0597212   0.00344087 -0.23413301  0.02406648]"

#split string
a = a.split() 

#delete open & close square bracket
a[0] =  a[0][1:] 
a[-1] = a[-1][:-1] 

#convert to float
for i in range(len(a)):
    a[i] = float(a[i])

如果您使用numpy()

import numpy as np

s = '[-0.0597212   0.00344087 -0.23413301  0.02406648]'

np.fromstring(s.strip('[]'), dtype=float, sep=' ')
# [-0.0597212   0.00344087 -0.23413301  0.02406648]

您還可以使用ast.literal_eval

import ast
import re

ast.literal_eval(re.sub(r'\s+', ',', s))
# [-0.0597212, 0.00344087, -0.23413301, 0.02406648]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM