admin 管理员组文章数量: 887021
2024年2月19日发(作者:接口类型2011)
MATLAB 字符串操作函数
MATLAB中的字符串用单引号表示,如’abed。如果想在字符串里包含一个单引号 怎么办?用两个连着的单引号。例如:'It''s sunn y.'表示字符串It's sunny.四个连着的单 引号''''表示内容为一个单引号的字符。
1. length(a):获取字符串a的长度。
例如:
a = 'matlab';t = length(a)
2. d=strcat(a,b):连接两个字符串a和b,每个字符串最右边的空格被裁切。 例如:
a = 'matlab '; b = '2012a ';d=streat(a,b), t = length(d)
例如:
a = {'abede', 'fghi'};
b = {'jkl', 'mn'};
ab = streat(a, b)
e = 'Q';
abe = streat(a,b,e)
3. e=strvcat(a,b,..,m):连接多行字符串,每行长度可不等,自动把非最长字符串最 右边补空格,使与最长字符串相等,会忽略空字符串。
例如: a=' a';b='b b';c='cccc';m='';
e = strvcat(a,b,m,c)
size(e)
4. char(a,b,..,m): 同上连接,但空字符串会被空格填满。
f = char(a,b,m,c)
size(f)
5. 字符串比较
strcmp 比较两个字符串是否完全相等,是,返回真,否则,返回假;
strncmp 比较两个字符串前n个字符是否相等,是,返回真,否则,返回假; strcmpi 比较两个字符串是否完全相等,忽略字母大小写;
strncmpi 比较两个字符串前n个字符是否相等,忽略字母大小写。
6. 字符串检测
isstr
检测是否为字符串
isletter 检测字符串中每个字符时否属于英文字母;
isspace
等);
isstrprop 检测字符每一个字符是否属于指定的范围。语法规则: tf = isstrprop('str',
'category')
参数category包括alpha (字母),digit (数字),lower (小写字母),upper(大写字母)。 例如:
a='d sdAAsdsd 15#';
b=isletter(a) c=isspace(a)
7. 字符串替换和查找
(1) strrep(str1,str2,str3)它把strl中所有的str2字串用str3来替换,区分大小写;strrep
对字符串矩阵不起作用。
例如:
a = 'Mike is a student.';
b = 'Mike'; c =
'Rose';
strrep(a,b,c)
(2) strfind(str,patten):查找str中是否有pattern,返回出现位置,没有出现返回空数
组;
例如:
strfind(a,'s')
(3) findstr(str1,str2):查找strl和str2中,较短字符串在较长字符串中出现的位置, 没有出现返回空数组; 注意这个函数对大小写是敏感的, 当不匹配时,返回空矩阵, findstr
对字符串矩阵不起作用
例如:
findstr(a,b) %findstr(b,a)
检测字符串中每个字符是否属于格式字符(空格,回车,制表,换行符
(4) x = strmatch(str, strarray, 'exact'):比较 str 是否和是 strarray 中最左侧部分一致;
如果是,返回str在strarray中的位置(即数组下标),exact则表示要完全一致
例如:
x = strmatch('max', char('max', 'minimax', 'maximum'))
x = strmatch('max', char('max', 'minimax', 'maximum'),'exact')
(5)
strtok(str,char): 认为例如: mm='you are welcome'; [mm1,mm2]=strtok(mm)
8. 字符串转换函数
num2str
将数字转换为数字字符串;
str2num
mat2str
返回str中由char指定的字符串前的部分和之后的部分;char默
将数字字符串转换为数字;
将数组转换成字符串;
把数值数组转换为整数数字组成的字符数组。
int2str
9.其他函数
blanks(n)
deblank(str)
strtrim(str)
lower(str)
upper(str)
sort(str)
创建有 n 个空格组成的字符串;
裁切字符串的尾部空格;
裁切字符串的开头和尾部的空格,制表,回车符;
将字符串中的字母转换成小写;
将字符串中的字母转换成大写;
按照字符的 ASCII 值对字符串排序;
返回上一个所产生 MATLAB 错误的字符串。
lasterr
如果要删除字符串
s 中的所有空格,可使用指令:
s(find(isspace(s)))
ss(~isspace(s))
版权声明:本文标题:MATLAB-字符串操作 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708310225h519246.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论