访问字符串元素在MATLAB
我有3个字符串类似如下:访问字符串元素在MATLAB
world=["America", "Europe"]; % Parent String
America=["USA", "Brazil", "Argentina"]; % Child1 String
Europe=["France", "Germany", "England"]; % Child2 String
我要访问的子字符串从父字符串中的元素(国名)(世界)和在for循环中使用它以便进一步操作。我正在尝试以下方式:
for i=1:2
d=world(i); % Temporary variable to store the continent name
for j=1:3
disp(d(j)); % Throws an Error: "Index exceeds Matrix dimensions
end
end
我在做什么错?任何帮助将不胜感激。
您可以使用类型单元格的变量来存储不同类型的变量,特别是字符串。我建议:
america = {'USA', 'Brazil', 'Argentina'};
europe = {'France', 'Germany', 'England', 'Italy'};
continents = {america, europe};
for i = 1 : length(continents)
for j = 1 : length(continents{i})
disp(continents{i}{j})
end
end
如果你喜欢指数的字符串,而不是一个正数(即数字索引),看看变量的类型结构。您可以打印出工作区中的变量列表,包括命令,其中。
链接的副本已经暗示 –
我发布此答案后找到了重复项。对不起,我也应该寻找它。无论如何,很高兴看到其他答案接近我的。 –
在您发布您的答案之前,建议您存在重复的评论(由我撰写)。对标准的“可能的重复:......”的注释进行快速检查总是很好,它会自动添加到相应标记的问题下。如果是的话,这个答案无论如何都适合,仅供将来参考。 – Wolfie
感谢您的及时回复。 我的预期输出是直接显示来自父字符串的国家名称(不使用大陆字符串) –
'd'可以是美国或欧洲字符串;不作为变量,因此不能像变量一样索引 –
d = America(当i = 1时,在第一次迭代中) –