**strrep 字符串查找与替换 sprintf 格式化输出数据到字符串
strcmp 字符串比较,后者忽略字母大小写 sscanf 格式化从字符串中读取数据
regexp,regexpi :匹配正则表达式,后者忽略大小写
regexprep 使用正则表达式替换字符串
regexptranslate 将私服穿转化为正则表达式**
>> strrep(S,'good','bad')
ans =
I'm a bad student!
>> c_files={'c:\cookies.m';...
'c:\candy.m';...
'c:\calories.m'...
};
>> d_files=strrep(c_files,'c:','d:')
d_files =
'd:\cookies.m'
'd:\candy.m'
'd:\calories.m'
>> dates={'01/01/2001','12/12/2002'};
>> missing_info={'Start:__','End: __'};
>> complete=strrep(missing_info,'__',dates}
complete =
'Start:01/01/2001' 'End: 12/12/2002'
>>
strtok 函数
函数strtok 可以找出字符串中第一个分隔符前面的字符串,其调用格式为:
[token,remain]=strtok(str,delimiter)
参数说明:str 是字符串,delimiter 是分隔符,默认是空格,token 是被选择的字符串,remain 是字符串str 未被选择的部分,若字符串str中不包含分隔符delimiter,则token 返回原字符串,而remain 返回一个空字符串
>> string=['I love matlab,','I''m going to study matlab!']
string =
I love matlab,I'm going to study matlab!
>> [token1,remain1]=strtok(string) %分隔符为空格
token1 =
I
remain1 =
love matlab,I'm going to study matlab!
>> [token1,remain1]=strtok(string,',') %分隔符为空格
token1 =
I love matlab
remain1 =
,I'm going to study matlab!
>> [token3,remain3]=strtok(string,'s') %分隔符为字母
token3 =
I love matlab,I'm going to
remain3 =
study matlab!
sprintf 函数
函数sprintf 有些类似于C语言中的printf 函数,其调用格式为:
[str,errmsg]=sprintf(format,A,…)
参数说明: str 是字符串,errmsg 返回错误信息,format 是一个包含格式字符串的字符串,格式字符串以初始化字符 % 开始,并依此包含以下可选或必要的元素:
- 标识符(可选)
- 标志位(可选)
- 宽度和精度域(可选)
- 转换字符(必要)
精度也可以是一个数或者一个星号(*),针对不同的转换字符,精度的定义有所差别:
>> strcmp(sprintf('%12d',intmax),sprintf('%*d',12,intmax))
ans =
1
- 对于%f,%e,或%E,精度是指小数点后保留的位数
对于%g或%G ,精度是指有意义数字的位数。
标志位控制输出的对齐方式
当标志位为“#”时,如下;%o,%x和%X 时,输出0,0x,0X的前缀;
- %f,%e和%E 时,输出小数点,即使精度为0;
- %g和%G 时,不会移除后面的零和小数点
标识符使用语法“n$” 表示格式化输出输入列表中的第n个量,例如:
>> sprintf('%3$s %2$s %1$s %2$s','A','B','C')
ans =
C B A B