uigetfile没有提取整个文件名

时间:2012-12-02 22:32:26

标签: matlab

我使用uigetfile上传我的数据。我用时间标记了我的数据。所以我要上传的文件看起来像Data-Dec01_11 / 45 / 35.txt问题是uigetfile读取到第一个" /"然后假设这是文件名的结尾。因此,它会提取文件名Data-Dec01_11。但当然,当我加载该文件时,它并不存在。如何强制uigetfile拉取整个文件名?

1 个答案:

答案 0 :(得分:4)

您不能在文件名中使用斜杠或反斜杠,因为它们可能会与文件分隔符混淆,就像您的情况一样。

您可以使用'regexpr'重命名文件,使其不包含非法字符,如in this trhead所述。

我在这里复制了他们为方便起见而建议的代码(我刚刚在示例字符串中添加了斜杠和反斜杠,以便您可以看到结果):

% these characters are allowed
  legalchars = 'a-zA-Z0-9\-\ \_\.' ;
% illegal filename
  A = 'Some@charac\ters$are(not&allowed/.txt'
% replace every other character with an underscore
  B = regexprep(A,['[^' legalchars ']'],'_')