Matlab_字符(串)操作(函数)

        一个 MATLAB 字符串是一个 char 型数组。每一个字型占两个字节。

示例:

%定义字符串变量
str='hEllo12';
str2='123321.12';
str3='lo'
str4='hell'
str5='h e l l o '

%%
%转换为数值型
%将参数y转为双精度浮点类型,如果y是字符,将返回字符的ASCII码值
double_ASCII=double(str)
%字符串转换为ASCLL码
abs_ASCII=abs(str)
%字符串转换为数值
str2num_double=str2num(str2)
eval_double=eval(str2)
%根据格式化转义字符转化为相应的数字
sscanf_value=sscanf(str2,'%f')%“%f”-浮点,“%g”-整数

%%
%转换为char型
%ASCLL码转换为字符
char_str=char(double_ASCII)
%ASCLL码转换为字符
setstr_str=setstr(double_ASCII)
%整数转换为字符串
int2str_str=int2str(double_ASCII)
%转换为16进制
dec_2_hex=dec2hex(double_ASCII)
%str转换为ASCII码
sprintf_str = sprintf('For str the value of ASCII = %4.2f\n',str) 

%%
%大小写转换
str_upper=upper(str)
str_lower=lower(str)

%%
%查找和比较
%返回短字符串在长字符串中的位置,1为起始
pos=findstr(str3,str)
%替换字符串str中str3的内容
str_rep=strrep(str,str3,'-rep-')
%比较字符串是否相等,不相等返回0,否则返回1
comp=strcmp(str,str2)
comp_i=strcmpi(str,str2)
%比较字符串签4个字符是否相等,不相等返回0,否则返回1
comp_n=strncmp(str,str4,4)
comp_i_n=strncmpi(str,str4,4)
%返回输入字符串中第一次出现在分隔符前面的所有字符,默认的分隔符为一系列的空白字符
%可以利用函数strtok 把一个句子转换为单词
[token, remainder]=strtok(",this,is,my,job!",',')
%对字符串内的字符进行逐个判断,判断是否为字母
is_letter=isletter(str)
%对字符串内的字符进行逐个判断,判断是否为空白字符(空格,tab,换行符)
is_space=isspace(str5) 
%字符串水平连接,变成一个字符串
str_str2=strcat(str,str2)
%竖直地连接两字符串,自动地把它转化为二维数组
str_str2_v=strvcat(str,str2)

%%
%一个数组中每一行的长度都必须相等,否则会报错比如:name=[str,str3]
%创建二维数组可以用 char 函数。函数将会自动地寻找所有字符串中
%最长的那一个成功创建字符串数组
name_array=char(str,str2,str3,str4)
%查看二维数组行开头的字符,并返回那些以指定的字符序列为开头行号
str_match=strmatch('hell',name_array) 

%查看变量属性
whos

运行结果:

>> string_test

str3 =

    'lo'


str4 =

    'hell'


str5 =

    'h e l l o '


double_ASCII =

   104    69   108   108   111    49    50


abs_ASCII =

   104    69   108   108   111    49    50


str2num_double =

   1.2332e+05


eval_double =

   1.2332e+05


sscanf_value =

   1.2332e+05


char_str =

    'hEllo12'


setstr_str =

    'hEllo12'


int2str_str =

    '104   69  108  108  111   49   50'


dec_2_hex =

  7×2 char 数组

    '68'
    '45'
    '6C'
    '6C'
    '6F'
    '31'
    '32'


sprintf_str =

    'For str the value of ASCII = 104.00
     For str the value of ASCII = 69.00
     For str the value of ASCII = 108.00
     For str the value of ASCII = 108.00
     For str the value of ASCII = 111.00
     For str the value of ASCII = 49.00
     For str the value of ASCII = 50.00
     '


str_upper =

    'HELLO12'


str_lower =

    'hello12'


pos =

     4


str_rep =

    'hEl-rep-12'


comp =

  logical

   0


comp_i =

  logical

   0


comp_n =

  logical

   0


comp_i_n =

  logical

   1


token = 

    "this"


remainder = 

    ",is,my,job!"


is_letter =

  1×7 logical 数组

   1   1   1   1   1   0   0


is_space =

  1×10 logical 数组

   0   1   0   1   0   1   0   1   0   1


str_str2 =

    'hEllo12123321.12'


str_str2_v =

  2×9 char 数组

    'hEllo12  '
    '123321.12'


name_array =

  4×9 char 数组

    'hEllo12  '
    '123321.12'
    'lo       '
    'hell     '


str_match =

     4

  Name                Size             Bytes  Class      Attributes

  abs_ASCII           1x7                 56  double               
  char_str            1x7                 14  char                 
  comp                1x1                  1  logical              
  comp_i              1x1                  1  logical              
  comp_i_n            1x1                  1  logical              
  comp_n              1x1                  1  logical              
  dec_2_hex           7x2                 28  char                 
  double_ASCII        1x7                 56  double               
  eval_double         1x1                  8  double               
  int2str_str         1x33                66  char                 
  is_letter           1x7                  7  logical              
  is_space            1x10                10  logical              
  name_array          4x9                 72  char                 
  pos                 1x1                  8  double               
  remainder           1x1                174  string               
  setstr_str          1x7                 14  char                 
  sprintf_str         1x249              498  char                 
  sscanf_value        1x1                  8  double               
  str                 1x7                 14  char                 
  str2                1x9                 18  char                 
  str2num_double      1x1                  8  double               
  str3                1x2                  4  char                 
  str4                1x4                  8  char                 
  str5                1x10                20  char                 
  str_lower           1x7                 14  char                 
  str_match           1x1                  8  double               
  str_rep             1x10                20  char                 
  str_str2            1x16                32  char                 
  str_str2_v          2x9                 36  char                 
  str_upper           1x7                 14  char                 
  token               1x1                158  string  

字符串函数汇总:

 

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值