一、字符串的构造
字符串构造:写在单引号之内的内容,如果内容包括单引号,则用重复的单引号来表示
>> str='i''m good'
str =
i'm good
构造多行字符串:['……';'……']或者{‘……’;‘……’}
前者要求字符串内容长度相同,后者则没有限制
>> strcat(str,str2)%字符串拼接
ans =
i'm goodright
>> strvcat(str,str2)
ans =
i'm good
right
char函数与strvcat函数类似(?)
二、字符串的比较
两个字符串之间的比较可以通过关系运算符来比较,也可以使用strcmp函数来比较两个字符串是否相同返回0或1;
而关系运算符,会对字符串的每个元素进行比较,会返回一个01数组,且两字符串长度必须相同
>> sabc=strvcat(a,b,c)
sabc =
top
123456
>> cabc=char(a,b,c)
cabc =
top
123456
>> whos
Name Size Bytes Class Attributes
a 1x3 6 char
ans 3x6 36 char
b 1x1 2 char
c 1x6 12 char
cabc 3x6 36 char
sabc 3x6 36 char
str 1x8 16 char
str2 1x5 10 char
>> strcmp(a,b)
ans =
0
>> sabc==cabc
ans =
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
eval(string):求字符串的值
>> a
a =
top
>> s='a.*2'
s =
a.*2
>> eval(s)
ans =
232 222 224
deblank:去掉字符串后拖的空格
feval:求字符串给定的函数值
>> f=@(x)x.^2
f =
@(x)x.^2
>> x=1:5
x =
1 2 3 4 5
>> feval(f,x)
ans =
1 4 9 16 25
findstr:从一个字符串内部找字符串
isletter:字符存在时返回真值
isspace:空格字符串存在时返回真值
isstr:输入一个字符串返回真值
lasterr:返回一个产生matlab'错误的字符串
strrep:用一个字符串替换另一个字符串
strtok:在一个字符串里找出第一个标记
>> strtok(a,';')
ans =
ergfoqejglkfkg
三、字符串的查找和替换
findstr区分大小写,对字符串矩阵不起作用
>> str1='hello matlab'
str1 =
hello matlab
>> findstr(str1;'o')
findstr(str1;'o')
|
Error: Unbalanced or unexpected parenthesis or bracket.
>> findstr(str1,'o')
ans =
5
直接赋值法:替换字符和被替换字符的长度必须一致
>> str1(1:5)='good'
In an assignment A(:) = B, the number of elements in A and B
must be the same.
>> str1(1:5)='goodd'
str1 =
goodd matlab
str1 =
goodd matlab
>> strrep(str1,'goodd','mamai')
ans =
mamai matlab
abs:将字符串转化为asc码
setstr:asc码转换成字符串
>> str='hello matlab'
str =
hello matlab
>> num=abs(str1)
num =
103 111 111 100 100 32 109 97 116 108 97 98
fprintf:把格式化的文本写到文件中或者显示屏上
sprintf:用格式控制数字转换成字符串
sscanf:按照指定格式读入
hex2num:十六进制字符串转换为IEEE浮点数
dec2hex:十进制数转化为十六进制字符串
int2str:整数转换成字符串
lower:字符串转换成小写 upper字符串转化为大写
num2str:数字转换成字符串
str2mat:字符串转换成一个文本矩阵
str2num:字符串转成数字