How to extract text between two specific words using fread operation

5 views (last 30 days)
I have an data file where i need to extract the text between two specific words
<Edata
Line1
Line2
Edata>
I need to Extract the text content between two specific words e.g. "<Edata" and "Edata>" using fread operation. This file will be in unknown extension file (*.kcs), so i can read only by using file operations. Any Idea..?

Answers (2)

Image Analyst
Image Analyst on 11 Aug 2014
Read the whole thing in using fread, which I assume you know how to do. Then
word1Location = strfind(theString, '<Edata');
word2Location = strfind(theString, 'Edata>');
inBetweenText = theString(word1Location+6:word2Location-1);
  6 Comments
Shirisha Acha
Shirisha Acha on 29 Nov 2016
I was looking for the same answer as to how to loop it. Did you solve it yet? Can u plz share the code if so

Sign in to comment.


Walter Roberson
Walter Roberson on 29 Nov 2016
theString = fileread(OldfilePath);
parts = regexp(theString, '(?<=<Edata\s*\n).*?(?=\nEdata>)', 'match');
I took the liberty here of removing the end-of-line character after and immediately before Edata . The meaning of "between" was not well defined here: what should happen if there is other text on the same line, like
<Edata %first one
line 1
line 2
Edata>
then should the '%first one' be extracted?

Categories

Find more on Characters and Strings in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!