我有一個問題。問題如下: 如何比較Matlab中的字符串?比較開關語句中的字符串/ Matlab
我有一個變量,它被稱爲數據。這個變量表示我想要比較的當前字符串,如果它有一個子字符串。
我有很多不同的可能性,這就是爲什麼我想使用Switch-Statement的原因。
在代碼示例中,您可以看到具有變量「數據」的開關。如果變量包含子串「開始」,則應執行以下情況。否則,應使用「其他」聲明。
我希望你能明白我想要做什麼。感謝您的幫助和支持。
function testObj = workflow(testObj, data)
switch data
case strfind(data, 'Start')>5
disp('Yes')
case strfind(data, 'End')>10
disp('Yes')
case strfind(data, 'NewTest')>15
disp('Yes')
otherwise
disp('No')
end
end
文檔:
開關組條件執行一組從幾種選擇語句。每個選擇都是一個案例。
評估的switch_expression是標量或字符串。經過評估的 case_expression是標量,字符串或標量或 字符串的單元數組。開關塊測試每個案例,直到其中一個案例爲 爲真。出現以下情況時爲:
對於數字,eq(case_expression,switch_expression)。
對於字符串,strcmp(case_expression,switch_expression)。
對於支持eq功能的對象, eq(case_expression,switch_expression)。
對於單元陣列case_expression,至少有一個 單元格數組的元素匹配switch_expression,如上面爲數字, 字符串和對象所定義的那樣。
當案例爲真時,MATLAB執行相應的語句,然後 退出交換機模塊。
否則是可選的,只有在沒有大小寫的情況下才會執行。
你甚至讀過文檔嗎? – David
@David是的,我閱讀了文檔,但沒有關於它的信息。 –
爲什麼沒有'if','elseif',...? –