필터 지우기
필터 지우기

find a word in sentence by "strfind"

조회 수: 7 (최근 30일)
Amr Hashem
Amr Hashem 2015년 5월 18일
댓글: Amr Hashem 2015년 5월 19일
i want to search in a cell by a word using "strfind" and if it exist return 1 if not return 0
this is the rows i search in:
i am using now "strcmpi" as: % it returns 1 or 0 but it search only for the same word % strfind: search for any word containing this letters%
if strcmpi(alldata{i,6},'battery') % search for word "battery" in 6th column
how i can do it by "strfind" ?
note : i split the sentence into words for easy search so i want by the end to sum the whole row if the sum =< 1 means that this row has the word i search for

채택된 답변

Stephen23
Stephen23 2015년 5월 18일
편집: Stephen23 2015년 5월 18일
You can simply wrap the strfind inside isempty, like this:
>> ~isempty(strfind('Schroedingers cat is alive!','cat'))
ans =
1
You can also use regexp to quickly identify matching substrings. Here is a simple example that locates the string cat inside a cell array of strings.
>> A = {'the cat sat on the mat','the cat in the hat','four blind mice','cats!'};
>> ~cellfun('isempty',regexp(A,'cat'))
ans =
1 1 0 1
And if you want case-insensitive matching then use regexpi instead. Note that regexp also has many other powerful features that may be of interest to you... the documentation explains these, with examples too.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by