【发布时间】:2010-06-17 18:55:53
【问题描述】:
我想使用下面的示例在 MATLAB 中创建一个字符串列表:
x = ['fun', 'today', 'sunny']
我希望能够调用x(1) 并让它返回'fun',但我却不断收到'f'。
另外,有没有一种方法可以将字符串添加到列表中,而不会让列表返回字符串应该在哪里的数字?我尝试过使用str2double 和其他一些东西。看起来这两件事都应该可以在 MATLAB 中完成。
【问题讨论】:
我想使用下面的示例在 MATLAB 中创建一个字符串列表:
x = ['fun', 'today', 'sunny']
我希望能够调用x(1) 并让它返回'fun',但我却不断收到'f'。
另外,有没有一种方法可以将字符串添加到列表中,而不会让列表返回字符串应该在哪里的数字?我尝试过使用str2double 和其他一些东西。看起来这两件事都应该可以在 MATLAB 中完成。
【问题讨论】:
存储具有不同长度的字符串列表的最简单方法是使用cell arrays。例如:
>> x = {'fun', 'today', 'sunny'}; %# Create a cell array of strings
>> x{1} %# Get the string from the first cell
ans =
fun
【讨论】:
这是一种笨拙的解决方法,但是 x = strsplit('fun.today.sunny', ',') 生成一个包含单个可调用字符串的列表。
【讨论】: