MATLAB:switch 语句问题

标签 matlab parsing switch-statement

我正在尝试解析某个文件。

我的想法是在使用切换句的同时逐行阅读。 我需要将第一个单词与某些字符串进行比较。

     log = fopen('my_file');
     tline = fgetl(log);

     while ischar(tline)
          split = strsplit(tline,',');
          switch split(1)
                case 'str1'
                %do something
                case 'str2'
                %do something else
          end      
     end

我不断收到“SWITCH 表达式必须是标量或 字符串常量。”

split 和 split(1) 的类是 char。该变量在每个 while 循环中都是恒定的。

出了什么问题?

最佳答案

strsplit返回字符串元胞数组。您需要使用花括号访问结果的内容:

switch split{1}
    case 'str1'
    %do something
    case 'str2'
    %do something else
end  

关于MATLAB:switch 语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28484178/

相关文章:

matlab - 如何通过移动特定间隔有效地将一个列矩阵 reshape 为许多特定长度的列

matlab - 在 Matlab 中打印非 ASCII/符号字符

linux - 解析 Linux 命令输出

c# - 给定一个类型和一个字符串,您可以尝试将字符串转换为该类型而不询问类型吗?

c - 如何将打印到 LOGFILE 的值存储在数组中

java - 在 switch case 语句中使用方法

python - 如何在 Python 中设置 MATLABPATH 并使用 mlabwrap?

matlab - 无法在 MATLAB 中加载库

java - 将文本设置为 switch 语句内的编辑文本时出错

java - 如何在 switch-case 语句中获取和设置值