Result of strfind

2 Ansichten (letzte 30 Tage)
Mtlb Usr
Mtlb Usr am 7 Feb. 2011
Hi,
I'm using strfind function and I want to check the result of this function. However, when strfind doesn't find the string that I indicated and the result is {[]}, instead of the position value. I have tested the result of strfind with strcmp and == or ~= but I can't control the value.
How can I know whether value of strfind is {[]}?
Regards

Akzeptierte Antwort

Paulo Silva
Paulo Silva am 7 Feb. 2011
a={[]}
isempty(a{:}) %1 if a is empty, 0 otherwise
another option
numel(a{:}) %0 if a is empty, it returns the number of elements of a
  3 Kommentare
Paulo Silva
Paulo Silva am 7 Feb. 2011
thanks for pointing that out
Mtlb Usr
Mtlb Usr am 7 Feb. 2011
Hi Paulo,
I solved the issue, with your answer.
Thank you
regards

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Oleg Komarov
Oleg Komarov am 7 Feb. 2011
I'll show an example:
% Example input
c = {'fine';'How are you'};
out = strfind(c,'fine')
out =
[1]
[]
% Return the index with exmpty cells
idxEmpty = cellfun('isempty',out)
idxEmpty =
0
1
% Positions on non empty results
posNonEmpty = find(~idxEmpty)
posNonEmpty =
1
% Extract non empty
c(~idxEmpty) % or c(posNonEmpty)
ans =
'fine'
Oleg

Kategorien

Mehr zu Variables finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by