matlab 如何提取数组中的字符串

我先在从文本中用fgetl的方式提取出了一行,大致格式如下:
1223 (_sex male) (_age child) (_race white) (_face smiling) (_prop '())
存储在数组a中,我想提取出某一属性如age对应的属性值(child)请问有没有方法实现(每行的字符串长度不同,可能有缺省),或者我有一个文本文件,里面有很多行类似
以上的文本行,我想提取特定行的特定属性与其他文本做比较,请问有没有方法?

    int2str把整数转换为字符串

        MATLAB中的指令“int2str( )”会将括号里面的数值转换为字符串数组,需要注意的是当数值为非整数时将被四舍五入后再转换。下面我们就看一下具体事例,其结果如下图所示:图一为转换前的数值数组,图二为转换为字符串后的字符串数组

    num2str 把非整数转换为字符串

        MATLAB中的指令“num2str( )”会将括号里面的非整数数组转换为字符串数组,这一命令常用于图形中,数据点的标识。

      既然要讲字符串数组的性质,那么我们就先来学习一下如何创建字符串数组。并且判断一下字符串数组的类型。需要注意的是字符串数组的创建方式是:在指令窗中,先把待建的字符放在“单引号对”中,再按[Enter]键,此外“单引号对’必须在英文状态下输入。


5.  既然我们要比较字符串数组和数值数组,那么我们也应该创建一个数值数组来进行比较。下面我们就创建一个数值数组,同样查看该数组的数据类型


6.为“double”型,而且在创建字符串数组时,必须用在英文状态下输入的单引号对讲字符串包括在内,他是matlab识别送来内容身份(是变量名、数字、还是字符串)所必需的。



   7. 下面的指令创建一个由19个字符组成的串。这印个字符必需被放在“单引号对”内。右下图可以看出原变量被赋值后数据类型就编程“char”型,而且每个字符(字母、空格、标点)都占据一个元素位置。



   8. 上面一步我们试验的是英文字符串,下面我们看一下中文是否也可以创建为字符串。从下图可以看出在创建中文字符串的时候,最外面的单引号对一定要在英文状态下输入。



 9.   在MATLAB中还可以将小字符串构成大的字符串。这一用法在命制图片的名称的时候很有用的。下面我们就将上一步中的字符串'这里是中文字符串'添加增长.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-28
在matlab中,取出矩阵中某一个值的方法如下:
1、对于二维数组:
a(i, j) % 表示取出二维数组a的第 i 行,第 j 列的数据
a(:, j) % 表示取出二维数组a的第 j 列的所有数据
a(i, :) % 表示取出二维数组a的第 i 行的所有数据

2、多维数组的方法与二维数组类似(以三维数组为例):
b(i, j, k) % 表示取出三维数组a的第k个二维数组的第 i 行,第 j 列的数据
b(:, j, k) % 表示取出三维数组a的第k个二维数组的第 j 列的所有数据
b(i, :, k) % 表示取出三维数组a的第k个二维数组的第 i 行的所有数据
b(i, j, :) % 表示取出三维数组a的每个二维数组的第 i 行,第 j 列的数据
第2个回答  2011-08-25
最好是以字节读取,这样可以在属性的属性值之间加上一些控制符号.并把读到的数据保存在数组中.对数组进行删除元素操作,就可以把属性和属性值分开.
这个方法肯定可以用,我最近作过类似的工作.
第3个回答  推荐于2018-03-15
在matlab中有查找字符串的命令,但是不是你所要求的返回1或0;
你可以使用如下的命令:

~isempty(strfind(str,'JPG'))

可以满足你的要求。
本回答被提问者和网友采纳
第4个回答  2011-08-25
试试正则表达式吧!