在這個程序中,我試圖使我有一個表達式(例如「I = 23mm」或「H = 4V」),我試圖提取23或4),以便我可以把它變成一個整數。從一個單詞字符串中提取一個數字
我依然會碰到的問題是,由於表達我試圖把號碼的開出的是1個字,我不能使用分裂()或任何東西。
一個例子,我看到,但難道不工作是 -
I="I=2.7A"
[int(s) for s in I.split() if s.isdigit()]
這難道不工作,因爲它只需將數字是由空格分隔。如果int078vert這個詞中有一個數字,它就不會提取它。另外,我的地址沒有空格來分隔。
我想一個是這個樣子,
re.findall("\d+.\d+", "Amps= 1.4 I")
但它沒有工作,要麼,因爲正在傳遞的數量並不總是2位。它可能是5或類似13.6的東西。
什麼代碼,我需要寫那麼,如果我傳遞一個字符串,如
I="I=2.4A"
或
I="A=3V"
所以,我只能提取數出這個字符串? (並對其進行操作)?沒有可以劃定的空格或其他常量字符。
它看起來像你試圖解決這個整數和十進制數。每個字符串總是隻有一個數字嗎? – yoozer8 2012-04-05 23:16:11
是的。每個字符串將始終有1個數字,但可能有多個小數點來表示該數字。 – Kyle 2012-04-06 02:10:54