【问题标题】:How to convert an string array into a character array in Matlab?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'}

【问题讨论】:

    标签: matlab


    【解决方案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 版本起有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 2013-04-25
    • 2012-11-04
    相关资源
    最近更新 更多