Regular Expression pattern for matching a variable name after an operator (mathematical or logical) ?
Afficher commentaires plus anciens
Hello, i am new to regular expressions and using regexprep as well. I want to write a function which replaces names of variables with a given new name. The expression i used first was (^|\W)oldName(\W|$) and $1newName$2 as the replacement.
Unfourtunatly this will not replace expressions like variableA*variableA or variableB+variableB. The second factor or summand is not replaced so i have to do regexp() twice. Secondly i tried the expression (^*|\W)oldName(\W|$) which will replace the second factor in the example above, but will also replace the name in something like this: thisvariableA.
matchPattern = (^|\W)oldName(\W|$);
replacePattern = $1newName$2;
StringContent = 'oldName*oldName';
ContentNew = regexprep(StringContent , replacePattern , matchPattern);
So i am looking for a regexp pattern which matches 'oldName' also after an operator which follows after and before'oldName'. A way to match the given example would help.
Réponse acceptée
Plus de réponses (1)
Sean de Wolski
le 3 Août 2018
Modifié(e) : Sean de Wolski
le 3 Août 2018
You may wish to consider using the shift+enter option in the MATLAB editor.
Find where variableA is defined for the first time or anywhere it is on the left of the = sign. E.g:
function(variableA)
or
variableA = something
Put the mouse cursor in it.
Change name by typing.
A yellow dialog will appear saying shift+enter to rename everywhere.
Hit shift+enter
Done.
1 commentaire
Stephen23
le 3 Août 2018
+1 a very useful answer.
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!