Matlab中string函数的使用

目录

创建对象

语法

示例

拆分字符串并查找唯一单词

转换字符向量

转换元胞数组

转换数值数组

转换表示数字的字符串

转换持续时间数组


        从 R2016b 开始,可以使用字符串数组而不是字符数组来表示文本。字符串数组的每个元素存储一个字符序列。序列可以具有不同长度,无需填充,例如 "yes" 和 "no"。只有一个元素的字符串数组也称为字符串标量。

        可以按照标准数组运算对字符串数组进行索引、重构和串联,还可以使用 + 运算符向字符串追加文本。如果字符串数组表示数字,则可以使用 double 函数将其转换为数值数组。

创建对象

        可以通过用双引号括起一段文本来创建字符串。从 R2017a 开始引入双引号。

str = "Hello, world"
str = 
"Hello, world"

        创建字符串数组的一种方法是使用方括号将字符串串联成数组,就像将数字串联成数值数组一样。

str = ["Mercury","Gemini","Apollo";
       "Skylab","Skylab B","ISS"]


str = 2x3 string
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"

        也可以按如下所述,使用 string 函数将不同数据类型的变量转换成字符串数组。

语法

str = string(A)
str = string(D)
str = string(D,fmt)

str = string(A) 将输入数组转换为字符串数组。

str = string(D) 以 D 的 Format 属性指定的格式将日期时间、持续时间或日历持续时间数组转换为字符串数组。输出在每行中包含一个日期或持续时间。

str = string(D,fmt) 以指定的格式(例如 'HH:mm:ss')表示日期或持续时间。

str = string(D,fmt,locale) 以指定的区域设置(例如 'en_US')表示日期或持续时间。区域设置会影响用于表示字符串(例如月份和日期名称)的语言。

示例

拆分字符串并查找唯一单词

        要查找字符串中的唯一单词,请在空格字符处拆分字符串,然后调用 unique 函数。

        首先创建一个字符串标量。

str = "A horse! A horse! My kingdom for a horse!"
str = 
"A horse! A horse! My kingdom for a horse!"

        删除感叹号。

str = erase(str,"!")

str = 
"A horse A horse My kingdom for a horse"

        将 str 中的所有字母转换为小写字符。

str = lower(str)

str = 
"a horse a horse my kingdom for a horse"

        使用 split 函数在空格字符处拆分 str。split 将丢弃空格字符,并以字符串数组形式返回结果。

str = split(str)

str = 9x1 string
    "a"
    "horse"
    "a"
    "horse"
    "my"
    "kingdom"
    "for"
    "a"
    "horse"

        使用 unique 函数查找 str 中的唯一单词。

str = unique(str)
str = 5x1 string
    "a"
    "for"
    "horse"
    "kingdom"
    "my"

转换字符向量

A = 'Four score and seven years ago'
A = 
'Four score and seven years ago'
str = string(A)
str = 
"Four score and seven years ago"

        str 包含与 A 相同的字符。但是,A 是字符向量,而 str 是字符串标量。

c = size(A)
c = 1×2

     1    30

s = size(str)
s = 1×2

     1     1

        要返回 str 中的字符数,使用 strlength 函数。

n = strlength(str)
n = 30

转换元胞数组

        将字符向量元胞数组转换为字符串数组。

A = {'Mercury','Gemini','Apollo';...
     'Skylab','Skylab B','ISS'}
A = 2x3 cell
    {'Mercury'}    {'Gemini'  }    {'Apollo'}
    {'Skylab' }    {'Skylab B'}    {'ISS'   }

str = string(A)
str = 2x3 string
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"   

        要访问 str 的第一行中的第二个元素,请使用圆括号进行索引。可以通过矩阵索引访问字符串数组中的字符串,就像访问数值数组的元素一样。

str(1,2)
ans = 
"Gemini"

        访问第三列。

str(:,3)
ans = 2x1 string
    "Apollo"
    "ISS"

转换数值数组

A = [77 65 84 76 65 66]
A = 1×6

    77    65    84    76    65    66

str = string(A)
str = 1x6 string
    "77"    "65"    "84"    "76"    "65"    "66"

        str 是字符串数组,其中每个元素表示 A 中的一个数值。请注意,string 不会像 char 函数那样将数字视为 ASCII 或 Unicode® 值。

转换表示数字的字符串

        创建一个字符串数组,其中每个元素代表一个数字。要将字符串数组转换为数值数组,请使用 double 函数。

str = ["256","3.1416","8.9e-3"]
str = 1x3 string
    "256"    "3.1416"    "8.9e-3"

X = double(str)
X = 1×3

  256.0000    3.1416    0.0089

        当输入参数为字符串数组时,double 函数会将每个元素视为一个浮点值的表示形式。但是,当输入是字符数组时,double 会将每个字符转换为表示其 Unicode® 值的数字。

        也可以使用 str2double 函数。当输入参数可能是字符串数组、字符向量或字符向量元胞数组时,适合使用 str2double。

Y = str2double(str)
Y = 1×3

  256.0000    3.1416    0.0089

C = '2.7183';
Z = str2double(C)
Z = 2.7183

转换持续时间数组

        创建一个 duration 数组。

D = hours(23:25) + minutes(8) + seconds(1.2345)
D = 1x3 duration
   23.134 hr   24.134 hr   25.134 hr

        将 D 转换为字符串数组。

str = string(D)
str = 1x3 string
    "23.134 hr"    "24.134 hr"    "25.134 hr"

        str 是每个元素对应一个持续时间值的字符串数组。str 的大小与 D 相同。

        指定 str 中的持续时间值的格式。

str = string(D,'hh:mm')
str = 1x3 string
    "23:08"    "24:08"    "25:08"

提示

  • 有关在字符串数组中创建和处理文本的函数列表,可以参考字符和字符串。

  • 如果输入参数是对象,则它必须属于实现 string 方法来将对象表示为字符串的类。

  • 10
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: MATLABstring函数可以用来创建和操作字符串。例如,可以使用string函数将两个字符串连接起来: ``` s1 = "hello"; s2 = "world"; s3 = strcat(s1,s2); ``` 此时s3的值为 "helloworld"。还可以使用诸如length、find、replace等函数来获取字符串的长度、查找子字符串、替换子字符串等。 详细用法参考 Matlab 官网:https://www.mathworks.com/help/matlab/ref/string.html ### 回答2: matlabstring函数是一种能够将其他数据类型(如数字、逻辑值、字符数组等)转换为字符串类型的工具函数。该函数可以帮助用户将不同类型的数据转换为字符串,以便进行字符串操作。具体用法如下: 语法:str = string(X) 其,X表示要转换为字符串的数据,str为转换后的字符串。 如果X为数字类型,则X每个元素的值都将被转换为一个字符串。如果X为逻辑类型,则true和false都被转换为字符串'true'和'false';如果X为字符数组,则每个元素将保持不变。 下面分别以数字、逻辑值和字符数组的转换为例进行讲解: 1. 数字类型转换为字符串 例如,将数字数组[1 2 3]转换为字符串类型: >> str = string([1 2 3]) str = 1×3 string 数组 "1" "2" "3" 2. 逻辑类型转换为字符串 例如,将逻辑数组[true, false, true]转换为字符串类型: >> str = string([true, false, true]) str = 1×3 string 数组 "true" "false" "true" 3. 字符数组保持不变 例如,将字符数组['hello', 'world']转换为字符串类型: >> str = string(['hello', 'world']) str = 1×2 string 数组 "hello" "world" 总之,在matlab使用string函数能够实现对不同类型的数据进行转换为字符串,这样就可以方便的对字符串进行操作和处理。 ### 回答3: MATLABstring函数用于将其他数据类型的变量转换为字符串。这个函数可以接收单个变量或矩阵作为输入,然后将其转换为字符串数组。该函数提供了多种参数设置,可以根据需要对转换进行自定义。 字符串的创建方法: 1. 直接赋值:将字符串内容用单引号括起来,赋给变量即可,例如name='Tom'; 2. 字符串拼接:用[]将多个字符串拼接在一起,例如name=['Tom','Jerry']; 3. 转换其他类型数据为字符串:使用string()函数,例如num=1234;str=string(num); 4. 使用sprintf():可以将数字和字符混合在一起,并进行格式化输出。 字符串的操作方法: 1. 字符串拼接:用+号将多个字符串拼接在一起,例如str1="hello ";str2="world";str=str1+str2; 2. 截取字符串:使用substr()函数,指定要提取的子串的位置和长度,例如str='abcdefg';substr=str(2:4); 3. 查找字符串:使用find()函数,在一个字符串定位特定的子字符串,例如idx=find(str=="hello"); 4. 替换字符串:使用replace()函数,替换一个字符串的一个字符或子串,例如new_str=replace(old_str,'he','HaHa'); 总之,MATLABstring函数提供了非常灵活的字符串处理功能,对于需要快速处理字符串的MATLAB用户来说是一个非常方便的工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值