matlab数据类型 —— 字符型-繁依Fanyi

matlab系列文章👉 目录 👈

在这里插入图片描述

〇、概述

对于数学来说,字符型数据可能不是很重要,但是用到的时候又必不可少。因此便有了本篇关于字符型数据的介绍。

在这里,字符型数据被分成了 字符串字符变量 来介绍,两者用法稍有不同。

字符:和 Python、Java 等高级语言类型类似,专注与数学计算的 matlab 中也有字符型数据,就像是 ab 等等只有一个字符的数据。

字符串:简单来说,字符串就是由若干个字符组合起来的数据,比如 abadccsa 等。

一、 字符与字符串的创建

1. 字符的创建

(1) 字符的创建
① 用单引号创建
>> a = 'abcd'

a =

    'abcd'

>>
>> whos
  Name      Size            Bytes  Class    Attributes

  a         1x4                 8  char               

② 用 char 函数创建
>> b = char('abcasd')

b =

    'abcasd'

>>
>> whos
  Name      Size            Bytes  Class    Attributes

  b         1x6                12  char               
(2) 字符数组的创建
① 字符数组用 char 函数创建

字符数组同样用 char() 函数创建。

>> a1 = char('abcasd','asdass')

a1 =

  2×6 char 数组

    'abcasd'
    'asdass'

>>
>> whos
  Name      Size            Bytes  Class    Attributes
         
  a1        2x6                24  char               

2. 字符串的创建

(1) 字符串的创建
① 用双引号创建
>> c = "hello"	% " 创建字符串

c = 

    "hello"

>>
>> whos
  Name      Size            Bytes  Class     Attributes

  c         1x1               150  string              
② 用 string 函数创建
>> d = "hello world"	% string() 函数创建字符串

d = 

    "hello world"

>>
>> whos
  Name      Size            Bytes  Class     Attributes

  d         1x1               166  string                
(2) 字符数组的创建
① 字符数组用 [] 创建
>> c1 = ["hello" "world";"nihao" "hhh"]	%注意,不同维度的向量用 ; 隔开

c1 = 

  2×2 string 数组

    "hello"    "world"
    "nihao"    "hhh"  

>>
>> whos
  Name      Size            Bytes  Class     Attributes

  c1        2x2               312  string              

二、字符 与 字符串 的相关操作

虽说是讲述 字符(char字符串(string 的相关操作,但相较于 字符串(string)来说,字符(char)的使用更多,所以这里说字符(char)更多些。

1. 字符串的长度

常用的检测字符串长度的函数有两个 —— length()size(),但是主要针对多个纬度的情况略有不同。

  • length() 是从多个维度中选择最大值并返回
  • size() 是将多个维度中的长度以一个向量的形式返回
① length 函数
>> a = 'abcdef'

a =

    'abcdef'

>>
>> length(a)

ans =

     6
② size 函数
>> a = 'abcdef'

a =

    'abcdef'

>>
>> size(a)

ans =

     1     6

2. 字符串拼接

字符(char字符串(string 的拼接方式稍有不同。

  • 字符(char 通过 strcat() 函数进行拼接
  • 字符串(string 直接通过 + 即可
① 字符串的拼接

字符(char 通过 strcat() 函数进行拼接。

>> x = 'abcde'

x =

    'abcde'

>>
>> y = 'fghij'

y =

    'fghij'

>>
>> z = strcat(x,y)

z =

    'abcdefghij'
② 字符串的拼接

字符串(string 直接通过 + 即可。

>> a = "abc"

a = 

    "abc"

>>
>> b = "def"

b = 

    "def"

>>
>> c = a + b

c = 

    "abcdef"

3. 字符串的比较

① 字符串的比较

通过 strcmp() 函数可以比较两个 字符 或 字符串,当两个字符完全相同时,返回值为 1;若不同,则返回值为 0

  • 格式:strcmp(s1,s2),s1 与 s2 为两个需要匹配的字符串。
>> a = 'abcd'

a =

    'abcd'

>>
>> b = 'abcd'

b =

    'abcd'

>>
>> strcmp(a,b)

ans =

  logical

   1

4. 查找字符串

① 查找字符串

如果我们想要查找某个长字符串里的短字符串,就可以使用 findstr() 函数来查找。

  • findstr() 函数将会查找某个字符串中的子字符串,找到则将以数组的形式返回每个子串在长串中的起始位置。若找不到则将返回一个空数组。
  • 格式:findstr(s_long,s_short)s_long 为长字符串,s_short 为短字符串(子串)
>> a = 'I am a good boy'

a =

    'I am a good boy'

>> 
>> findstr(a,'o')

ans =

     9    10    14

5. 显示字符串

  • disp() 是一个用来显示字符串的函数,就类似与 Java、Python 语言中的 print()
>> a = 'I am a good boy'

a =

    'I am a good boy'

>>
>> disp(a)
I am a good boy

6. 字符的索引

字符的索引也算是一个比较重要的功能:字符可以被索引,而字符串不能

① 索引字符
>> a = 'abcdef'		%%字符

a =

    'abcdef'

>>
>> for i = 1:3		%%索引字符
a(i)
end

ans =

    'a'


ans =

    'b'


ans =

    'c'
② 索引字符串
>> b = "abcdef"		%%字符串

b = 

    "abcdef"

>>
>> for i = 1:3		%%索引字符串
b(i)
end

ans = 

    "abcdef"

Index exceeds the number of array elements. Index must not exceed 1.

索引字符串会出现异常。

在这里插入图片描述

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容