MATLAB textscan之模式匹配用法

MATLAB textscan之模式匹配用法详解

笔者在实际使用MATLAB的textscan函数去读取txt文档时,会需要跳过文档中某些字符串。使用模式匹配方法可以跳过或者寻找特定字符串。
给出一段字符串数组,例如:

test01 = '[Hello World!]';

首先进行读取匹配(%[…])。
读取’Hello’部分:

ans01 = textscan(test01,'%[Helo]');
ans02 = textscan(test01,'[%[loHe]');
ans03 = textscan(test01,'%[]Helo]');
ans04 = textscan(test01,'[%[**Helo**]');

得到

ans01{1,1} = {'[Hello'};
ans02{1,1} = {'Hello'};
ans03{1,1} = {'['};
ans04{1,1} = {'Hello'};

可以看到,在实际读取时,只有ans02和ans04达成目的。因此,在读取匹配时,%[***]中的星号无论个数,顺序,是否重复。只要包含需要读取的字符,即可读取到目标。
在有[]包括的内容时,需要将中括号左半边写在%前即可。
下面是排除匹配部分(%[^])
读取’Hello’部分:

ans01 = textscan(test01,'%[^World! ]');
ans02 = textscan(test01,'%[^ ]');
ans03 = textscan(test01,'[%[^ W]');
ans04 = textscan(test01,'[%[^*** W]');

得到

ans01{1,1} = {'[He'};
ans02{1,1} = {'Hello'}
			 {'World!]};
ans03{1,1} = {'Hello'};
ans04{1,1} = {'Hello'};

ans03和ans04成功了。在排除匹配时,中括号中的字符串开始均会被排除。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DOS_Txyad

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值