find a word in sentence by "strfind"
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Amr Hashem
el 18 de Mayo de 2015
Comentada: Amr Hashem
el 19 de Mayo de 2015
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/150241/image.jpeg)
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
1 comentario
Respuesta aceptada
Stephen23
el 18 de Mayo de 2015
Editada: Stephen23
el 18 de Mayo de 2015
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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!