Matlab中如何将字符串数组转换为字符数组?

Posted

技术标签:

【中文标题】Matlab中如何将字符串数组转换为字符数组?【英文标题】:How to convert an string array into a character array in Matlab? 【发布时间】:2017-05-28 22:12:04 【问题描述】:

假设我们在 Matlab 中有一个字符串数组,如下所示:

   a='This is a book'

我们如何通过下面的Matlab中的函数将上面的字符串数组转换为字符数组?

    b='T' 'h' 'i' 's' ' ' 'i' 's' ' ' 'a' ' ' 'b' 'o' 'o' 'k'

【问题讨论】:

【参考方案1】:

您的a 不是字符串数组;它是一个字符数组(过去也称为字符串,但从 R2016b 开始,该术语有一个different meaning)。您的b 不是字符数组,而是包含字符的元胞数组。

无论如何,要将a 转换为b,请使用num2cell

a = 'This is a book';
b = num2cell(a);

【讨论】:

感谢您提供准确的信息和简单的回答 :) @Saeed_Mousazadeh 欢迎您! :-)【参考方案2】:

如果您真的想将字符串(自 R2016b 引入)转换为 char 数组,您可以这样做。

s = "My String"; % Create a string with ""
c = char(s); % This is how you convert string to char. 
isstring(c)

ans =

logical

0

ischar(c)

ans =

logical

1

【讨论】:

感谢您的回答 :),但我使用的是 R2013a 版本,所以正如您所说,您的代码自 R2016b 版本起有效。

以上是关于Matlab中如何将字符串数组转换为字符数组?的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB如何将数字数组转换成字符串?

如何将 Matlab 单元字符串数组转换为 .NET 字符串数组

matlab中如何将字符串转化为数组?

用Matlab将字符串转换成数组

使用 Matlab Coder 将 C 字符数组转换为 Matlab 字符串

如何在 Matlab 中将字符串单元格数组转换为 int 和 NaN?