How to make a connection between a key word and a binary digit?

1 view (last 30 days)
I have a text 'mail.txt' and I chose a key word 'good'which is repeated 10 times in the text,I have generated a random binary number consists of 10 digits 0100111011 ,the first occurrence of the word 'good' meets the first digit'0' the second occurrence meets digit'1' and so on,How to achieve this and also to say if the the digit is '1' replace 'good'with 'bad' ,else no changes,can I have your help please.

Accepted Answer

Walter Roberson
Walter Roberson on 4 Feb 2017
strfind() 'good', giving back a vector of starting indices. Use the binary vector to select elements out of that array. Make the replacement at each remaining location.
Hint: try looping backwards
  11 Comments
jojototo
jojototo on 4 Apr 2017
Hi , the code works,but there is a problm that when the word that I want to replace it is a part of another word"like 'the' in 'there,these,rather'"the letters of 'the' in these words also replaced ,I want only the word "the" to be replaced. I tried this code instead of strfind but also doesn't work >>idx = regexpi(A, 't[h]+e'); thanks for your efforts.
Walter Roberson
Walter Roberson on 4 Apr 2017
To go further, you need to define what a "word" is. In English that is not easy.
The below is an example I used in 2008 for someone wanting to separate out paragraphs. Which are the words in this?
Mr. Todd E. Jones gave $3000. (!) in nickels, dimes, etc. to his
No. 1 son at 4 7th Ave. N., NY. NY. USA., who exclaimed "What joy!
Now I can buy 3 lbs. of St. Tropiz bananas... or can I?!"

Sign in to comment.

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!