matlab字符串处理

简介: 一、字符串的构造字符串构造:写在单引号之内的内容,如果内容包括单引号,则用重复的单引号来表示>> str='i''m good'str =i'm good构造多行字符串:['……';'……']或者{‘……’;...

一、字符串的构造

字符串构造:写在单引号之内的内容,如果内容包括单引号,则用重复的单引号来表示

>> str='i''m good'

str =

i'm good
构造多行字符串:['……';'……']或者{‘……’;‘……’}

前者要求字符串内容长度相同,后者则没有限制

>> strcat(str,str2)%字符串拼接

ans =

i'm goodright

>> strvcat(str,str2)

ans =

i'm good
right   

strcat是单行字符串连接;strvcat函数和char函数用于纵向连接多个字符串。strvcat函数连接多行字符串时,每行字符串的长度不要求相等,所有非最长字符串的右端会补空格,使得每行字符串长度相等。

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

blanks(n):返回一个n个零或者空格的字符串

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

strrep函数:

直接赋值法:替换字符和被替换字符的长度必须一致

>> 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:字符串转成数字


相关文章
|
5月前
专题一MATLAB基础知识——1.7字符串处理
专题一MATLAB基础知识——1.7字符串处理
58 1
|
7月前
|
自然语言处理 索引
第2章 MATLAB基础知识——2.4 字符串处理函数
第2章 MATLAB基础知识——2.4 字符串处理函数
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
3月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
|
3月前
【数值分析】二分法求方程的根(附matlab代码)
【数值分析】二分法求方程的根(附matlab代码)
|
2月前
|
机器学习/深度学习 算法 计算机视觉
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
30 2

热门文章

最新文章