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

 Akzeptierte Antwort

Akira Agata
Akira Agata am 12 Nov. 2019
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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by