MATLAB cell中字符串的提取处理

现有字符串单元a=('hofhodafdgjkdfkg'),我想把字符串sdf 与之比较,得出sdf是否存在a里面,并且得出位置所在,但使用a(i:i+2) 来检索发生错误,说索引超出维度,将如何解决? 我这么想的问题在哪里?
谢谢大家指教。

第1个回答  推荐于2016-06-11

其实不用这么麻烦寻找匹配,matlab自带了字符串查找函数strfind(str,patten),来查找str中是否有pattern,返回出现位置,没有出现返回空数组。

具体使用方式如下:

如果有一致的,则返回匹配字符串的起始位置,若没有一致,则返回空。

执行结果如下:

追问

谢了,这很好用,但 出现 ans [1x8 double],打开这个内容是对的,但是我想让他显示在命令编写栏里,该如何实现?

追答

我不是很理解你的意思,但是可以全部显示出来啊。

追问

d1是一个cell类型,输出是这样的,按一个cell类型输出,但不直接将结果显示出来,但是假如d1是一个字符串,那么就是你输出的那种形式;
追答

使用下面的方法就可以了

本回答被提问者采纳
相似回答