2013-03-29 70 views

回答

0

您可以在this看看:與regexpi,你可以簡單地尋找數字在你的字符串中。

的語法是如此簡單:

startIndex = regexpi(str,expression) 

其中expression參數是一個正則表達式的表達式(即「\ d *」來檢索連續的數字)。

+0

對不起,我解釋我的問題,我想閱讀a.txt文件這兩個數字 –

0

在您的具體情況使用正則表達式執行這樣的方法是:

首先,你必須決定什麼字符串是有效的在您的搜索 例如:

firstpar = 'First parameter is [0-9]+'; 

意味着你查找字符串'第一個參數是'
數字序列結束。

然後,你可以通過以下方式使用regexpregexpi

results = regexp(mystring, firstpar, 'match'); 

mystring的文本執行並'match'搜索意味着你想要的文字作爲輸出,而不是指數的部分。

現在,results是一個單元格矩陣,每個單元格包含一個字符串,它出現在您的文本中並且符合您的firstpar定義。爲了從字符串的細胞基質只提取號碼,你可以再次使用regexp,但現在幫助自己與cellfun,其反覆適用的命令單元矩陣的所有單元格:

numbers = cellfun(@(x) str2num(regexp(x, '[0-9]+', 'match', 'once')), results); 

numbers是數組你正在尋找的數字。

您可以爲不同的字符串模式做同樣的 - 如果你想有一個更一般的字符串定義(而不是我們這裏使用簡單firstpar)讀matlab documentation about regular expressions(在他的評論alexcasalboni貼吧),向下滾動到輸入參數並展開'表達式'。

regexpregexpi之間的區別在於後者不區分大小寫。

相關問題