• matlab数据类型 —— 字符型


    matlab系列文章👉 目录 👈

    在这里插入图片描述

    〇、概述

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

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

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

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

    一、 字符与字符串的创建

    1. 字符的创建

    (1) 字符的创建

    ① 用单引号创建
    >> a = 'abcd'
    
    a =
    
        'abcd'
    
    >>
    >> whos
      Name      Size            Bytes  Class    Attributes
    
      a         1x4                 8  char               
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    ② 用 char 函数创建
    >> b = char('abcasd')
    
    b =
    
        'abcasd'
    
    >>
    >> whos
      Name      Size            Bytes  Class    Attributes
    
      b         1x6                12  char               
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    (2) 字符数组的创建

    ① 字符数组用 char 函数创建

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

    >> a1 = char('abcasd','asdass')
    
    a1 =
    
      2×6 char 数组
    
        'abcasd'
        'asdass'
    
    >>
    >> whos
      Name      Size            Bytes  Class    Attributes
             
      a1        2x6                24  char               
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2. 字符串的创建

    (1) 字符串的创建

    ① 用双引号创建
    >> c = "hello"	% " 创建字符串
    
    c = 
    
        "hello"
    
    >>
    >> whos
      Name      Size            Bytes  Class     Attributes
    
      c         1x1               150  string              
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    ② 用 string 函数创建
    >> d = "hello world"	% string() 函数创建字符串
    
    d = 
    
        "hello world"
    
    >>
    >> whos
      Name      Size            Bytes  Class     Attributes
    
      d         1x1               166  string                
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    (2) 字符数组的创建

    ① 字符数组用 [] 创建
    >> c1 = ["hello" "world";"nihao" "hhh"]	%注意,不同维度的向量用 ; 隔开
    
    c1 = 
    
      2×2 string 数组
    
        "hello"    "world"
        "nihao"    "hhh"  
    
    >>
    >> whos
      Name      Size            Bytes  Class     Attributes
    
      c1        2x2               312  string              
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

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

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

    1. 字符串的长度

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

    • length() 是从多个维度中选择最大值并返回
    • size() 是将多个维度中的长度以一个向量的形式返回

    ① length 函数

    >> a = 'abcdef'
    
    a =
    
        'abcdef'
    
    >>
    >> length(a)
    
    ans =
    
         6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    ② size 函数

    >> a = 'abcdef'
    
    a =
    
        'abcdef'
    
    >>
    >> size(a)
    
    ans =
    
         1     6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2. 字符串拼接

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

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

    ① 字符串的拼接

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

    >> x = 'abcde'
    
    x =
    
        'abcde'
    
    >>
    >> y = 'fghij'
    
    y =
    
        'fghij'
    
    >>
    >> z = strcat(x,y)
    
    z =
    
        'abcdefghij'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    ② 字符串的拼接

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

    >> a = "abc"
    
    a = 
    
        "abc"
    
    >>
    >> b = "def"
    
    b = 
    
        "def"
    
    >>
    >> c = a + b
    
    c = 
    
        "abcdef"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    3. 字符串的比较

    ① 字符串的比较

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

    • 格式:strcmp(s1,s2),s1 与 s2 为两个需要匹配的字符串。
    >> a = 'abcd'
    
    a =
    
        'abcd'
    
    >>
    >> b = 'abcd'
    
    b =
    
        'abcd'
    
    >>
    >> strcmp(a,b)
    
    ans =
    
      logical
    
       1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    5. 显示字符串

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

    6. 字符的索引

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

    ① 索引字符

    >> a = 'abcdef'		%%字符
    
    a =
    
        'abcdef'
    
    >>
    >> for i = 1:3		%%索引字符
    a(i)
    end
    
    ans =
    
        'a'
    
    
    ans =
    
        'b'
    
    
    ans =
    
        'c'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    ② 索引字符串

    >> 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.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    索引字符串会出现异常。

    在这里插入图片描述

  • 相关阅读:
    CrySiS勒索病毒最新变种来袭,加密后缀为kharma
    抽象的代理模式1.0版本
    shardingsphere 集成springboot【水平分表】
    C Primer Plus(6) 中文版 第6章 C控制语句:循环 6.1 再探while循环
    【# 完美解决 node.js 模块化后报错 ReferenceError: require is not defined】
    window 11 wsl 安装docker
    Flutter查漏补缺1
    解决STM32F429烧录程序后还需复位才能植入程序的bug
    正则表达式的应用领域及基本语法解析
    Effective C++改善程序与设计的55个具体做法 1. 让自己习惯 c++
  • 原文地址:https://blog.csdn.net/qq_21484461/article/details/125380083