Find string of relative directory with regexp

3 Ansichten (letzte 30 Tage)
Bob Thompson
Bob Thompson am 21 Feb. 2022
Kommentiert: Bob Thompson am 21 Feb. 2022
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

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu File Operations finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by