MATLAB-字符串操作

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB 字符串操作函数

MATLAB中的字符串用单引号表示,如'abcd'。如果想在字符串里包含一个单引号怎么办?用两个连着的单引号。例如:'It''s sunny.' 表示字符串It's sunny. 四个连着的单引号''''表示内容为一个单引号的字符。

1. length(a):获取字符串a的长度。

例如:

a = 'matlab';t = length(a)

2. d=strcat(a,b):连接两个字符串a和b,每个字符串最右边的空格被裁切。

例如:

a = 'matla

b '; b = '2012a ';d=strcat(a,b), t = length(d)

例如:

a = {'abcde', 'fghi'};

b = {'jkl', 'mn'};

ab = strcat(a, b)

c = 'Q';

abc = strcat(a,b,c)

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):它把str1中所有的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):查找str1和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中的所有空格,可使用指令:s(find(isspace(s)))

ss(~isspace(s))

s(isspace(s)==0)

相关文档
最新文档