Clear Filters
Clear Filters

Result of strfind

9 views (last 30 days)
Mtlb Usr
Mtlb Usr on 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

Accepted Answer

Paulo Silva
Paulo Silva on 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 Comments
Paulo Silva
Paulo Silva on 7 Feb 2011
thanks for pointing that out
Mtlb Usr
Mtlb Usr on 7 Feb 2011
Hi Paulo,
I solved the issue, with your answer.
Thank you
regards

Sign in to comment.

More Answers (1)

Oleg Komarov
Oleg Komarov on 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

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!