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来替换,区分大小写;matlab二进制字符串转数组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): 认为空格。 | 返回str中由char指定的字符串前的部分和之后的部分;char默 |
例如: mm='you are welcome'; [mm1,mm2]=strtok(mm)
8. 字符串转换函数
num2str | 将数字转换为数字字符串; |
str2num | 将数字字符串转换为数字; |
mat2str | 将数组转换成字符串; |
int2str | 把数值数组转换为整数数字组成的字符数组。 |
9.其他函数
blanks(n) | 创建有 n 个空格组成的字符串; |
deblank(str) | 裁切字符串的尾部空格; |
strtrim(str) | 裁切字符串的开头和尾部的空格,制表,回车符; |
lower(str) | 将字符串中的字母转换成小写; |
upper(str) | 将字符串中的字母转换成大写; |
sort(str) | 按照字符的 ASCII 值对字符串排序; |
lasterr | 返回上一个所产生 MATLAB 错误的字符串。 |
如果要删除字符串 s(find(isspace(s))) | s 中的所有空格,可使用指令: |
ss(~isspace(s))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论