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 单元字符串数组转换为 .NET 字符串数组