Find the word from a string.

1 view (last 30 days)
s1=hello everone (during the embedding process a watermark bit is embedded in the word)
s2=hello the everyone (By insertion attack 'the' word is inserted)
How can I find out that 'the' word is embedded during a attack and I also want to assign a 0 and 1 to the words. 0 indicates a new word and 1 presents a marked word.
Thanks in advance
  4 Comments
Balkar Singh
Balkar Singh on 15 Apr 2020
Sorry strfind is not working as per my reqirement. Thanks
Stephen23
Stephen23 on 15 Apr 2020
Edited: Stephen23 on 15 Apr 2020
Identifying character changes between two strings can be achieved using the Needleman-Wunsch algorithm:
You might find an implementation on FEX or online (but based on my experience implementing this algorithm in another language, it will be difficult to find a correct implentation).
If you want to resctrict yourself to matching whole words (so one different character means two words do not match), then you can simply split the strings up into words (e.g. strsplit, regexp), and then use ismember or something similar (one or two loops might be required).

Sign in to comment.

Accepted Answer

Sahithi Kanumarlapudi
Sahithi Kanumarlapudi on 21 Apr 2020
Hi,
Using 'strcmp' you could get the indices of the words which are not matching as per your requirement stated in the question. For more information on how to compare strings using 'strcmp refer to the following links
If there is any other requirement, you could post it in the comments.
Hope this helps!

More Answers (0)

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!