search for a word in a string with complete match

Hi all,
I have a string and a cell as follows
StringText = 'High rotation speed changes the parameter RevolutionChange'
WordCell = {'Slip' , 'GearRatio','Revolution','RevolutionChange'}
When I use regular explression to find the line parameters in StringText, the 3rd and 4th indices are obtained as outputs. I need only the 4th index to be the output
Index = regexp(StringText, WordCell, 'match')
Present output = 1×4 cell array => {0×0 cell} {0×0 cell} {Revolution} {RevolutionChange}
required output = 1×4 cell array => {0×0 cell} {0×0 cell} {0x0 cell} {RevolutionChange}
Thanks

 Accepted Answer

How about the following way?
StringText = 'High rotation speed changes the parameter RevolutionChange';
WordCell = {'Slip' , 'GearRatio','Revolution','RevolutionChange'};
% Split text into words
WordsInText = split(StringText);
% Find word(s) in WordCell used in the StringText
idx = ismember(WordCell,WordsInText);
% Show word(s) used in the StringText
WordCell(idx)
ans =
{'RevolutionChange'}

1 Comment

Hi Akira,
Thanks for the answer. It works!
Just out of curiosity, Is there a way to do the same without strsplit?

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!