MATLAB Answers

Exact string match to confirm the string existence in the file

17 views (last 30 days)
Bhaskar R
Bhaskar R on 17 Dec 2019
Commented: Bhaskar R on 17 Dec 2019
Hi all,
Could you find the exact string match in the input file?
I am unable get exact match of the sting in the read file, i tried this using strfind command, but could not get what i want.
My case is as follows,
Input file has data, out of it I need to find specific exact string in the file, suppose my input file name is input_data.txt and the data
>> txt = fileread('input_data.txt')
>> txt =
'var_abc = 12;
var_abcd = 20;
var_xyz = 30;
var_xy = 152;
var_abcxyz = 142;'
In this data i need to confirm specific string is present or not in the file.
Suppose i want to search the string var_ab in the file it's giving me
strfind(t, 'var_ab')
ans =
1 16 62
but it is finding strings within other strings, here I need to search only exact specific string var_ab
If the specificr string is present in the file, it should return true/value/string else an empty/false output
i.e
strfind(t, 'var_ab')
ans =
[]
-Thanks

Accepted Answer

Stephen
Stephen on 17 Dec 2019
Edited: Stephen on 17 Dec 2019
>> txt = fileread('input_data.txt');
>> spl = regexp(txt,'\w+','match');
>> any(strcmp('var_ab',spl(1:2:end)))
ans = 0
>> any(strcmp('var_abc',spl(1:2:end)))
ans = 1

More Answers (1)

Shunichi Kusano
Shunichi Kusano on 17 Dec 2019
Hi Bhaskar,
how about including space in the reference string? For your case, 'var_ab ', not 'var_ab'.
I wonder if I could catch your point.
HTH.
  1 Comment
Bhaskar R
Bhaskar R on 17 Dec 2019
Yes, it may include but i used string trim. Stephen Cobeldick's answer helped.
Thanks for the reply.

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!