matlab 定义string,如何在MATLAB中将字符串解析为字母,数字等?

I have a string of characters like this '12hjb42&34ni3&(*&' in MATLAB.

I want to separate the digits and letters and everything else through regex or some other easier way. How can I do this?

解决方案

Instead of using regular expressions, I think it would be easier to use the function ISSTRPROP:

str = '12hjb42&34ni3&(*&'; %# Your sample string

alphaStr = str(isstrprop(str,'alpha')); %# Get the alphabetic characters

digitStr = str(isstrprop(str,'digit')); %# Get the numeric characters

otherStr = str(~isstrprop(str,'alphanum')); %# Get everything that isn't an

%# alphanumeric character

Which would give you these results:

alphaStr = 'hjbni'

digitStr = '1242343'

otherStr = '&&(*&'

If you really wanted to use REGEXP, this is how you could do it:

matches = regexp(str,{'[a-zA-Z]','\d','[^a-zA-Z\d]'},'match');

alphaStr = [matches{1}{:}];

digitStr = [matches{2}{:}];

otherStr = [matches{3}{:}];

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值