MATLAB中cellstr函数的使用

目录

语法

说明

示例

将字符串数组转换为元胞数组

将字符数组转换为元胞数组

将日历持续时间数组转换为元胞数组


        cellstr函数的功能是转换为字符向量元胞数组。

语法

C = cellstr(A)
C = cellstr(A, dateFmt)

说明

        C = cellstr(A) 将 A 转换为字符向量元胞数组。例如,如果 A 是字符串 "foo",则 C 是包含字符向量 {'foo'} 的元胞数组。
        C = cellstr(A, dateFmt)(其中 A 是 datetime 或 duration 数组)应用指定的格式,如 "HH:mm:ss"。此外,可以将区域设置指定为单独的输入,例如 "en_US"。

示例

将字符串数组转换为元胞数组

        可以创建字符串数组来包含多段文本。但是,可能需要使用接受字符向量元胞数组作为输入参数,但不接受字符串数组的函数。要将字符串数组中的数据传递给此类函数,请使用 cellstr 函数将字符串数组转换为字符向量元胞数组。

        创建一个字符串数组。从 R2017a 开始,可以使用双引号创建字符串。

A = ["Past","Present","Future"]

A = 1x3 string
    "Past"    "Present"    "Future"

        将字符串数组转换为一个 1×3 的字符向量元胞数组。

C = cellstr(A)

C = 1x3 cell
    {'Past'}    {'Present'}    {'Future'}

将字符数组转换为元胞数组

        创建一个字符数组。包括结尾空格以使每行的长度相同,生成一个 3×4 的数组。

A = ['abc ';'defg';'hi  ']
A = 3x4 char array
    'abc '
    'defg'
    'hi  '


class(A)
ans = 
'char'

        将字符数组转换为一个 3×1 的字符向量元胞数组。

C = cellstr(A)
C = 3x1 cell
    {'abc' }
    {'defg'}
    {'hi'  }


class(C)
ans = 
'cell'

将日历持续时间数组转换为元胞数组

        创建一个 calendarDuration 数组。

D = calmonths(15:17) + caldays(8) + hours(1.2345)
D = 1x3 calendarDuration
   1y 3mo 8d 1h 14m 4.2s   1y 4mo 8d 1h 14m 4.2s   1y 5mo 8d 1h 14m 4.2s

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

C = cellstr(D)
C = 1x3 cell
    {'1y 3mo 8d 1h 14...'}    {'1y 4mo 8d 1h 14...'}    {'1y 5mo 8d 1h 14...'}


class(C)
ans = 
'cell'

A - 输入数组
数组

        输入数组。A 的数据类型确定 cellstr 如何将 A 转换为字符向量元胞数组。

输入类型

转换说明

示例输入

示例输出

string

将每个元素转换为字符向量,并将其赋给某个元胞。

如果 A 为空,即 "",则输出是包含一个空字符数组(即 0×0 字符向量)的元胞。

1×1 string array
    "foo"

1×1 cell array
    {'foo'}
1×2 string array
    "foo"    "bar"
1×2 cell array
    {'foo'}    {'bar'}

字符数组

将输入的每行赋给一个元胞。cellstr 删除每行中的尾部空白字符,但实义空白字符除外,如不间断空白字符。

2×3 char array
    'foo'
    'bar'
 2×1 cell array
    {'foo'}
    {'bar'}

分类数组

将输入数组的每个元素转换为一个字符向量,并将该向量赋给新元胞数组中的一个元胞。

1x3 categorical array
    red    green    blue
1×3 cell array
    {'red'}    {'green'}    {'blue'}

datetime 数组

​要指定格式和区域设置,参阅 dateFmt。

datetime(2020,6,1)

'01-Jun-2020'

dateFmt - 日期格式和区域设置
字符向量 | 字符串标量

        日期格式和区域设置,指定为单独字符向量或字符串标量。A 输入必须是 datetime、duration 或 calendarDuration 类型。

        如果不指定格式,cellstr 将使用 A 的 Format 属性中的值。要仅指定区域设置,请使用空数组作为格式的占位符,即 []。

支持的格式取决于 A 的数据类型。

  • ​datetime 格式可以包括单位和分隔符的组合,例如 "yyyy-MMM-dd HH:mm:ss.SSS"。​

  • duration 格式为单个字符(y、d、h、m 或 s)或者以下组合之一:

    • "dd:hh:mm:ss"

    • "hh:mm:ss"

    • "mm:ss"

    • "hh:mm"

    • 以上任意项,用最多九个 S 字符指示秒小数位,例如 "hh:mm:ss.SSSS"

  • ​calendarDuration 格式可以按从最大到最小时间单位的顺序包括字符 y、q、m、w、d 和 t 的组合,例如 "ym"。有​

区域设置影响用于表示日期和时间的某些分量(例如月份名称)的语言。有效值包括:

  • "system",用于指定您的系统区域设置。

  • xx_YY 形式的字符向量,其中 xx 是用于指定语言的小写 ISO 639-1 双字母代码,YY 是用于指定国家/地区的大写 ISO 3166-1 alpha-2 代码。

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值