找回密码
 注册
关于网站域名变更的通知
查看: 459|回复: 3
打印 上一主题 下一主题

如何去掉txt文件里不想要的字符,和去掉这行

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-12-18 13:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
2 C$ u" U/ |, |. u
比如我有个txt文件有3列的数据,前两列都是double型的数字,第三列有数字也有N.C.这样的字符串。如下所示(行数很多很多,为了方便举例只取前几行):
- `4 p* H# z7 S! N/ S$ T2 F2 U7 B5 D( [
543.6 765.4 65
' P: D7 I& y3 o, v  t765.0 865.0 N.C.
5 E3 j% b& A: i& U  ?5 {5 f654.8 762.3 54& d9 a; i6 n  W( O
587.0 844.0 50
5 y/ \0 I3 B; c0 Z9 f/ b/ a254.0 765.0 N.C.0 w+ C" c# q7 Z: O6 x6 p. [+ B, {4 P  A
……
9 M. C" [7 C1 i1 y0 _& \6 H2 X; D& Z( T9 A# r3 U  }+ d. K
我用testscan函数可以很容易的读取前两行,但第三行有数字有字符串就不太好处理。- b2 N! b. p9 M' u% b
2 F! a) o* }5 }
请问如何把有N.C.的行给去掉呢?比如上例最终为:
( ]9 g3 k9 h* u$ D' A. V+ \" D- l5 f. f3 ?3 \+ W
543.6 765.4 65
/ R! d! ^  {; \  \2 j654.8 762.3 549 z+ ?, k: o- x' ^1 C
587.0 844.0 50

该用户从未签到

4#
发表于 2020-12-18 16:07 | 只看该作者
fid = fopen('新建文本文档.txt');
, k2 \0 G5 d, s* a/ D6 Xdata =textscan(fid,'%s %s %s');. A0 J7 L6 }# C) b2 L9 L
a = data(1,[1,2]);% S  v+ h5 j  U3 U
aa = cell2mat(cellfun(@(x) str2num(char(x)),a,'UniformOutput',false));
) i/ v5 d5 z7 T. ^1 c- }b = data{:,3};- |, }# k, i0 ?8 q1 F
c = cellfun(@(x) str2num(char(x)),b,'UniformOutput',false);3 `; w# i4 U# y8 ?, j
index=cell2mat(cellfun(@(x) ~isempty(x),c,'UniformOutput',false));1 L: L. E( \$ d3 o5 ]% p( s- B6 q
result = [aa(index,: ), vertcat(c{index})];5 v3 n( r. `9 L9 O+ C* v
fclose(fid);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 07:15 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表