comparing to string array

2 views (last 30 days)
xRobot
xRobot on 22 Nov 2019
Edited: per isakson on 24 Nov 2019
Hello, I have a large string array with many four letter words called "words". I also have a matrix of char that is has been scrambled called "scrambled"(it is a block of letters). I am attempting to sort all possible combinations of the char matrix and compare them to my list to see if there any possible combinations of four letters that match a word in my list. I have tried a couple of things that did not work. I am new to matlab so I am having trouble with the process. Below are examples of the variables I am working with. Any advice is greatly appreciated. Thanks in advance!
words = ["make" "hope" "list" "home"]
scrambled =
kame
stit
abnaa
  7 Comments
xRobot
xRobot on 23 Nov 2019
What would "thisword" and "available_letters" refer to? Is thisword referring to the remaining letters in the block?
Walter Roberson
Walter Roberson on 23 Nov 2019
can_form_a_word = false;
for thisword = words(:).'
if all(ismember(thisword{1}, letters_remaining_in_block))
can_form_a_word = true;
break;
end
end
if ~can_form_a_word
disp('No more word soup for you!')
end

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 22 Nov 2019
ScS = string(scrambled);
[present, index] = ismember(ScS, words) ;
present will be a logical vector. Each location that is true will have a corresponding value in index that will reflect the position inside words that scrambled came from. For example if present(2) is true and index(2) is 7 then ScS(2) is words(7)

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!