EDA365电子论坛网

标题: 如何去掉txt文件里不想要的字符,和去掉这行 [打印本页]

作者: Uqzalq    时间: 2020-12-18 13:15
标题: 如何去掉txt文件里不想要的字符,和去掉这行
, l- P+ }/ @6 F4 p& C8 V6 k
比如我有个txt文件有3列的数据,前两列都是double型的数字,第三列有数字也有N.C.这样的字符串。如下所示(行数很多很多,为了方便举例只取前几行):
2 ]0 S; |+ g  Y+ ~% w+ F+ b
2 S9 \5 l( K6 X/ e2 k' ^) e" o543.6 765.4 65
, f7 M  `, ~- X- r765.0 865.0 N.C.
& g/ u' y% ~# c& O654.8 762.3 548 c% k+ J1 a& _7 w9 i& H
587.0 844.0 50
' _& z+ B1 W5 l+ Q254.0 765.0 N.C.
1 {# ~; O/ U7 x/ X$ U( K& U……
/ U4 R% j8 O4 }: M" Z1 t  P: n. P5 O0 r
我用testscan函数可以很容易的读取前两行,但第三行有数字有字符串就不太好处理。  d3 E# Q7 p0 ~# h0 m
6 y$ A  u" C- M" Y4 ^
请问如何把有N.C.的行给去掉呢?比如上例最终为:
% q0 O; ?; g: I* w3 g2 j* k
7 D4 c  Z; K( i  Y3 a7 }543.6 765.4 65
# |' m1 v6 a# y5 Y; C, x! @2 d654.8 762.3 54
% G8 t, i9 ?8 d# Z* E0 h587.0 844.0 50
作者: NingW    时间: 2020-12-18 14:28
不懂
作者: younicp    时间: 2020-12-18 16:07
路过,帮顶
作者: haidaowang    时间: 2020-12-18 16:07
fid = fopen('新建文本文档.txt');# J8 `9 d8 z3 T0 O6 p8 B  ]
data =textscan(fid,'%s %s %s');
2 y6 f2 A* G) @0 Sa = data(1,[1,2]);
: _% y+ q* h- Z2 Naa = cell2mat(cellfun(@(x) str2num(char(x)),a,'UniformOutput',false));
: Y6 f; j6 I  }( ob = data{:,3};" ]# x3 p3 r5 y6 r/ G5 p' n% C' o$ U
c = cellfun(@(x) str2num(char(x)),b,'UniformOutput',false);6 {4 _' Z6 u/ Q! D' ~: j
index=cell2mat(cellfun(@(x) ~isempty(x),c,'UniformOutput',false));- k/ ^4 c1 ?! D% G, Z9 l, Z
result = [aa(index,: ), vertcat(c{index})];
7 p+ r# P5 O! f0 n$ O3 wfclose(fid);




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2