matlab 读取数据时剔除中文

Unicode码中,中文的范围是0x4e00~0x9fa5。 根据字符的Unidcode值进行判断。

例如: 
 

str='ab大飞cd';

str2=str(str>=hex2dec('4E00') & str <=hex2dec('9fa5'))

str2 = 大飞

这个办法可以提取出一个字符串中的中文字符,同理,也可以剔除一个字符串中的中文字符

最近在读取一些资料,有站位编号,又有站位中文名称,读取时十分无奈。(这个最近,是1年多之前了,我扒拉了好久,才找到原始文件和代码,自己写的自己也看不懂了。这篇文章居然没写完就发了,我还一直以为是个参考呢,害死自己了)

fid1 = fopen(filename1,'r');
fid2 = fopen(filename2,'w');
Station_string = '54111';

    while ~feof(fid1)
        tline1 = fgetl(fid);
        if contains(tline1,Station_string)
            tline2 = tline1(tline1<=hex2dec('4E00') | tline1 >=hex2dec('9fa5'));
            if length(tline2)<100
                fprintf(fid2,[tline2(2:end),'\n']);
            end
        end
        
    end
fclose(fid1);
fclose(fid2);

在filename1这个文件中,逐行遍历,

读取一行tline1,定位包含特定站位(Station_string)的这一行字符串,

剔除中文后字符串为tline2,

并把tline2写入filename2这个文件里。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值