finding specific string in cell arrays

1 view (last 30 days)
Shima Asaadi
Shima Asaadi on 29 Mar 2016
Edited: Shima Asaadi on 29 Mar 2016
I have a set of alphabet, like: alph={a,b,...,z} And Also a cell array named "repo" in which different combination of alphabets exist and each combination has a value, like:
'x y' 2
'r t' 4
'a b' 1
this array is very big. I want to find different combination of my alphabet in this array and extract the value of it. Note that the array does not contain all the combinations of my alph-set. For example it may does not have 'x b' at all (but we don't know if it exist or not).
I wrote the following code. But I want to avoid for-loop, because it is too slow. Do you know any efficient and fast way?
for i=1:size(alphabet)
for j=i:size(alphabet)
str_tmp = strcat(alphabet(i,1), {' '},alphabet(j,1));
index = find(strcmp(str_tmp,repo(:,1)));
saveSomeWhere = str2double(cell2mat(repo(index,2)));
end
end
Many thanks,
  8 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 29 Mar 2016
Let us take just this cell array
M={'"' '0'
'"business-as-usual"' '0'
'"celebration,"' '0'
'"cuddly-feely"' '2'
'"detainees"' '2'
'"exemplary"' '4'
'"family"' '4'
'"force"' '0'
'"frighten"' '0'
'"hyperbole,"' '0'}
What are you expecting from this cell array? can you post the expecting result, and explain how to obtain it?
Shima Asaadi
Shima Asaadi on 29 Mar 2016
Edited: Shima Asaadi on 29 Mar 2016
Ok, consider "force" and "family" are 2 of our alphabets. I want to find the value of "force family" ( The values are written in the second column like natural numbers) and this phrase "force family" may have some values in repo or does not have any (we dont knpw). So, I have to search the whole repo.
I wrote this code :
for i=1:size(alphabet_set)
for j=i:size(alphabet_set)
str_tmp = strcat(alphabet_set(i), {' '},alphabet_set(j));
index = find(strcmp(str_tmp,repo(:,1)));
value = str2double(cell2mat(repo(index,2)));
end
end
for this purpose.

Sign in to comment.

Answers (0)

Categories

Find more on Loops and Conditional Statements 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!