[討論] 如何取代 ? . 符號

作者: fellow100 (fellow100)   2017-03-17 05:15:47
新手請益,請問能夠幫忙我看一下哪裡寫錯了?
我從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都已經有各自的意義:
+號 表示比對前一個字元一次或更多次
.號 表示比對任何一個字元
謝謝。
作者: robert780612 (.....)   2017-03-19 00:38:00
N只會讀數值,若excel中是string要用T來做regexp
作者: clang (llvm)   2017-03-21 10:10:00
如果要用RegEx比對要加跳脫 \+跟\.不過原po的需求用strrep就夠了吧剛剛看了下matlab不用加前後的slash,expr1改成'\+'似乎就行?
作者: imafsb (匿名)   2017-03-21 12:09:00
T=regexprep(T,'\.','');T=regexprep(T,'\+','\.');N=cellfun(@str2num,T);

Links booklink

Contact Us: admin [ a t ] ucptt.com