看板 MATLAB 關於我們 聯絡資訊
新手請益,請問能夠幫忙我看一下哪裡寫錯了? 我從xlsread讀excel file, 讀出來是長成下面這樣: '100+000.000' '100+010.000' '100+020.000' '100+030.000' '100+040.000' '100+050.000' 我想變成: '100.000000' '100.010000' '100.020000' '100.030000' '100.040000' '100.050000' excel file:https://www.dropbox.com/s/xigygtypvj7nzzp/north1.xls?dl=0 第一步想先取代+號,我目前是寫: [N, T, rawdata] = xlsread('north1', 'sheet1', 'A1:A5121') expr1 = '\+\' regexprep(N, expr1, '.') 矩陣輸出結果完全沒變,還是長這個樣子:100+050.000 能夠用regexprep正規表示式取代嗎? +和.的符號在regexp都已經有各自的意義: +號 表示比對前一個字元一次或更多次 .號 表示比對任何一個字元 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.182.143 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1489698949.A.A31.html ※ 編輯: fellow100 (42.72.182.141), 03/17/2017 05:51:47
robert780612: N只會讀數值,若excel中是string要用T來做regexp 03/19 00:38
clang: 如果要用RegEx比對要加跳脫 \+跟\. 03/21 10:10
clang: 不過原po的需求用strrep就夠了吧 03/21 10:10
clang: 剛剛看了下matlab不用加前後的slash,expr1改成'\+'似乎就 03/21 10:12
clang: 行? 03/21 10:12
imafsb: T=regexprep(T,'\.',''); 03/21 12:09
imafsb: T=regexprep(T,'\+','\.'); 03/21 12:10
imafsb: N=cellfun(@str2num,T); 03/21 12:10