Matlab之字符串处理
Matlab处理字符串
1.取得部分字符串
我们有一个字符串 file='20131030_113109.TemporaryAlias.Poly5';
简单操作举例:
>> a=file(7) %取字符串中任意一个元素
a =
3
>> a=file(3:10) %取字符串中任意几个元素
a =
131030_1
>> a=file(3:end) %取字符串中任意几个元素
a =
131030_113109.TemporaryAlias.Poly5
2.字符串操作相关函数
char(S1,S2,„)
利用给定的字符串或单元数组创建字符数组
double(S)
将字符串转化成ASC码形式
cellstr(S)
利用的给定的字符数组创建字符串单元数组
blanks(n)
生成一个由n个空格组成的字符串
deblank(S)
删除尾部的空格
eval(S) evalc(S)
使用MATLAB解释器求字符串表达式的值
ischar(S)
判断是不是字符串数组
iscellstr(C)
判断是不是字符串单元数组
isletter(S)
判断是不是字母
isspace(s)
判断是不是空格
strcat(S1,S2,„)
将多个字符串水平竖直排列
strvcat(S1,S2,„)
将多个字符串竖直排列
strcmp(S1,S2)
判断字符串是否相等
strncmp(S1,S2,n)
判断前n个字符串是否相等
strcmpi(S1,S2)
判断字符串是否相等(忽略大小写)
strncmpi(S1,S2,n)
判断前n个字符串是否相等(忽略大小写)
strtrim(S1)
删除结尾的空格
findstr(S1,S2)
查找
strfind(S1,S2)
在S1种查找S2 strjust(S1,type) 按照指定的type调整一个字符串数组
strmatch(S1,S2)
查找要求的字符串的下标
strrep(S1,S2,S3)
将字符串S1中出现的S2用S3代替
strtok(S1,D)
查找S1 中的第一个给定的分隔符之前和之后的字符串
upper(S)
将一个字符串成大写
lower(S)
将一个字符串转换为小写
num2str(k)
将数字转换成字符串
int2str(k)
将整数型转换为字符串
mat2str(k)
将矩阵转换为字符串,供eval使用 str2double(S) 将字符串数组转化为数值数
sprintf(S)
创建含有指定格式的字符串
sscanf(S)
按照指定的控制格式读取字符串
3.regexp() regexpi() regexp()
regexp() 匹配正则表达式(大小写敏感)
regexp(string,expr)
[matchstart,matchend,tokenindices,matchstring,tokenstring,tokenname,splitstring] = regexp(string,expr)
[selected_outputs] = regexp(string,expr,outselect)
regexp(string,expr,options)
regexpi() 匹配正则表达式(大小写不敏感)
regexpi(string,expr)
[matchstart,matchend,tokenindices,matchstring,tokenstring,tokenname,splitstring] = regexpi(string,expr)
[selected_outputs] = regexpi(string,expr,outselect)
regexpi(string,expr,options)
regexprep() 使用正则表达式替换字符串
s = regexprep('str', 'expr', 'repstr')
s = regexprep('str', 'expr', 'repstr', options)
regexptranslate() 将字符串翻译成正则表达式
s2 = regexptranslate(type, s1)
strfind() 查找字符串1在字符串2中的坐标
k = strfind(str, pattern)
k = strfind(cellstr, pattern)
strread() 按格式对字符串
A = strread('str')
[A, B, ...] = strread('str')
[A, B, ...] = strread('str', 'format')
[A, B, ...] = strread('str', 'format', N)
[A, B, ...] = strread('str', 'format', N, param, value, ...)
strtok() 选择字符串某部分
token = strtok(str)
token = strtok(str, delimiter)
[token, remain] = strtok('str', ...)