2016-09-15 45 views
0

有沒有一種方法來檢查一個字符串是否存在於MATLAB的另一個字符串中。在python中,這很容易在b中完成。我不想索引或類似的東西。我只是想檢查它的真實與否。我找到的答案是「strcmp」或「strfind」,也是正則表達式。正則表達式返回索引。 strcmp(a,b)似乎不起作用。我有一個字符串a ='ac'和另一個字符串b ='bc_gh_ac'。並想檢查是否在b。在MATLAB的StringB中是stringA

此致敬禮

+0

也'strfind' http://ch.mathworks.com /help/matlab/ref/strfind.html –

+0

是的,這個返回索引,但是,如果stringA在stringB中,它不會返回true。但解決方案是由@Dave給出的,低於 – Augusti

回答

3

答案確實很清楚。你必須小心參數的順序,這個參數起初看起來很奇怪 - 模式是第一個參數,而不是第一個參數。下面的代碼演示:

a='ac'; 
b='bc_gh_ac'; 
strfind(b,a) 

如果你只是想測試該字符串是否存在或不存在,然後使用IsEmpty函數:

if ~isempty(strfind(b,a)) 
    disp('String is present'); 
end 
+0

是的,strfind返回索引。然而,第二個解決方案〜isempty()完成了這項工作!感謝那。如此清楚,如果一個字符串在另一個字符串中沒有內置函數返回true, – Augusti

+1

如果你不想索引返回 – Finn

+0

@ Finn的解決方案給出了期望的結果以及〜isempty(strfind())解決方案,你也可以在你的'strfind()'周圍包裝'logical()'。然而,邏輯(strfind())在某些方面更好。 – Augusti

相關問題