Find string of relative directory with regexp

1 view (last 30 days)
I have a string in a file that I want to find and replace. The string contains a directory that is defined relative to another location variable and therefore contains '..\' type callings in the name. How can I find something like this with regexp? I am able to locate it fine with strfind, so I haven't misspelled anything, but regexp can't find it. I assume this is because something is being treated as an escape character, but how can I get around that?
txt = 'myfile = ''..\..\pwd''; myotherfile = ''..\..\pwd'';';
txtfind = strfind(txt,'myfile = ''..\..\pwd'';')
txtrerf = regexp(txt,'myfile = ''..\..\pwd'';','match')
txtfind =
1
txtrerf =
0 x 0 empty cell array

Accepted Answer

David Hill
David Hill on 21 Feb 2022
txtrerf = regexp(txt,'myfile = ''[.]{2}\\{1}[.]{2}\\{1}pwd'';','match')
  1 Comment
Bob Thompson
Bob Thompson on 21 Feb 2022
On further experimentation, the {1} for the slashes is unnecessary.

Sign in to comment.

More Answers (0)

Categories

Find more on File Operations in Help Center and File Exchange

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!