[讨论] 如何取代 ? . 符号

楼主: 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