Find string of relative directory with regexp

3 vues (au cours des 30 derniers jours)
Bob Thompson
Bob Thompson le 21 Fév 2022
Commenté : Bob Thompson le 21 Fév 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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Tags

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by