MATLAB 用数组存储长度不一致的字符串以及读取使用

一般使用数组存储长度一致的字符串时,常用这种形式:

str=[];
str=[str;str1];

但对于长度不一的字符串来讲,这样就不行了。

可以使用这种方式:

str=[];
str=strvcat(str,str1);

这样str的结构就是每一行都是一个str1。strvcat会将每个数组元素的长度设为数组元素长度最大值,不够长的在结尾补空格。

例如,存储a,ab,abc,abcd,则实际存储为

str=['a   ';
     'ab  ';
     'abc ';
     'abcd'']

调用时,这样:

getstr=str(i,:);

这样得到一整条数据,使用strtip函数去除空格(https://ww2.mathworks.cn/help/matlab/ref/strip.html)

newStr = strip(str) 从 str 中每个字符串的开头和末尾删除所有连续空白字符,并以 newStr 形式返回结果。
newStr = strip(str,side) 从 side 指定的一侧删除所有连续空白字符。side 参数可以是 'left'、'right' 或 'both'。
newStr = strip(___,stripCharacter) 去除 stripCharacter 指定的字符而不是空白字符。您可以使用上述语法中的任何输入参数。

如果想去除字符串中所有字符(不限于开头结尾),可以这样

str1(find(isspace(str1))) = [] %去除所有空格,str1为一个字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值