我正在使用Matlab R2011b。我想在編輯器中獲取活動mfile的第一行的文本。我知道我可以使用下面的代碼獲取全部 mfile的文本作爲1xn字符數組(不能分解成行)。但是我只想要第一行。如何獲得Matlab M文件的第一行文本?
activeEditor = matlab.desktop.editor.getActive ;
activeEditor.Text ;
有什麼建議嗎?要做到這一點
我正在使用Matlab R2011b。我想在編輯器中獲取活動mfile的第一行的文本。我知道我可以使用下面的代碼獲取全部 mfile的文本作爲1xn字符數組(不能分解成行)。但是我只想要第一行。如何獲得Matlab M文件的第一行文本?
activeEditor = matlab.desktop.editor.getActive ;
activeEditor.Text ;
有什麼建議嗎?要做到這一點
的一種方法是選擇所有文本的第一行,然後訪問SelectedText
屬性:選擇整個第一行之前通過存儲當前選擇
>> activeEditor = matlab.desktop.editor.getActive ; >> activeEditor.Selection = [1 1 1 Inf]; >> activeEditor.SelectedText ans = This is the first line of this file
您可以改善這種然後在選定的文本被訪問後恢復選擇。這樣光標位置不會丟失。
您可以搜索第一個「換行」字樣,並從一開始就一切恢復到該位置:
activeEditor = matlab.desktop.editor.getActive;
pos = find(activeEditor.Text==char(10), 1, 'first');
firstLineStr = activeEditor.Text(1:pos-1)
注意:我會測試這個來看Mac和Linux是否有不同[EOL ](http://en.wikipedia.org/wiki/Newline)使用指標(CR,LF,CRLF) – Amro
這個功能似乎回到分成行,文本行= matlab.desktop.editor文本。 textToLines(activeEditor.Text); – KAE
任何人都知道爲什麼要調用matlab。'在我的機器上返回錯誤'???未定義的函數或變量'matlab'.'? –
eykanal
我認爲你需要R2011a或更新版本:http://blogs.mathworks.com/desktop/2011/04/11/introducing-matlab-r2011a/ – Nzbuu