首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MATLAB中的字符串索引:单引号与双引号

MATLAB中的字符串索引:单引号与双引号
EN

Stack Overflow用户
提问于 2018-04-02 21:39:46
回答 1查看 6.5K关注 0票数 5

我有一个字符串矩阵,如下所示:

代码语言:javascript
复制
readFiles = [   
            "11221", "09";
            "11222", "13";
            "12821", "06";
            "13521", "02";
            "13522", "13";
            "13711", "05";
            "13921", "01";
            "14521", ".001";
            "15712", ".003"
            ];

这些文件用于自动访问某些文件夹和文件。然后我要做的是如下( ii是一些整数):

代码语言:javascript
复制
FileName = strcat('../../Datasets/hc-1/d',readFiles(ii,1),'/d',...
                     readFiles(ii,1),readFiles(ii,2),'.dat');
data(ii,:) = LoadBinary(FileName, 6);

然后使用双引号生成字符串FileName (我不确定原因)。因此,它的价值是:

代码语言:javascript
复制
FileName = 

"../../Datasets/hc-1/d13921/d1392101.dat"

函数LoadBinary()在尝试执行以下操作时返回一个错误:

代码语言:javascript
复制
lastdot = strfind(FileName,'.');
FileBase = FileName(1:lastdot(end)-1); % This line 

但是,如果我使用单引号手动创建字符串FileName,则该函数可以正常工作。

简单地说,如果我尝试索引用上面的行创建的字符串(FileName(1:lastdot(end)-1)) (导致FileName = "../../Datasets/hc-1/d13921/d1392101.dat"),MATLAB将返回一个错误。如果我用单引号(FileName = '../../Datasets/hc-1/d13921/d1392101.dat')手动创建它,则该函数工作正常。

这一切为什么要发生?是否有方法修复它(即将双引号字符串转换为单引号字符串)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-02 21:43:33

双引号是字符串数组,而单引号是Char数组。可以使用函数char将字符串数组转换为char数组。所以你会写:

代码语言:javascript
复制
CharFileName = char(FileName)

它应该能解决你的问题。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49619191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档