2013-01-11 53 views
1

數我有一個字符串數組:從字符串獲得在MATLAB

dd = {'L','temp1','temp23','Reas'}; 

我想從包含任意數目(如果是有道理的)字符串中提取號碼。所以,對於這個問題的解決方案應該是1和23

我如何在MATLAB做到這一點?

回答

4

這裏是解決方案的一部分。假設

myString = 'temp23' 

則表達式

str2double(a(isstrprop(a,'digit'))) 

將返回

23 

我沒有把它變成一個功能的時間來處理你的字符串數組,但是這應該讓你開始。

@DennisJahruddin建議我的回答如下完成。我還沒有徹底測試它:

dd = {'L','temp1','temp23','Reas'}; 
ee = cellfun(@(a) str2double(a(isstrprop(a,'digit'))),dd); 
ff = ee(~isnan(ee)) 
+0

很高興看到'在行動isstrprop'。希望你不介意我更新了答案。 –

+0

我並沒有反對你的編輯,但其他人在編輯之前就已經被拒絕了,所以我自己編輯了我的答案。 –