Exact string matching

How do I write a code, that finds repeated words from an input file and prints those with its position, i.e. (where it was found)

4 Comments

Jan
Jan on 15 Oct 2011
Please post, what you have done already and ask for a specific question. This forum is not a programming robot and we will not solve your homework.
Gurusaran
Gurusaran on 16 Oct 2011
Dear Simon,
I have scripted the above mentioned problem in perl and I am just curious and a bit sure that it can can also be done in matlab(I am new to matlab). More over, mine is just a naive algorithm. My aim is to implement efficient string algorithms like Suffix array or Suffix tree. All I wanted to know is, Is it feasible to implement such complicated algorithm in matlab or is there any better way doing this in matlab.
Gurusaran
Gurusaran on 16 Oct 2011
And brother, this is not my homework nor you have to do it for me, I'm just curious and need a kick start.
Jan
Jan on 16 Oct 2011
Ok, no homework. Even if you are new at Matlab, I assume you can implement the reading of a text file by your own. Then it would be useful if you implement as much as you can and ask a specific question. For such general questions there is a discrepancy between the effort needed to create a meaningful answer, and the effort shown by the author.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 16 Oct 2011

0 votes

Read the file in to a string, newlines and all. Use regex() to extract the "words" and corresponding locations (for whatever you define a "word" to be.) Use the three-output form of unique() to get the unique words and the corresponding indices into the original list of words. Index the location list by that index list to get the word positions.
Biggest trick: you will need to set two optional modes for regex, as shown here

Categories

Asked:

on 15 Oct 2011

Community Treasure Hunt

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

Start Hunting!