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))


本文标签: 字符串 字符 是否 空格 返回