Regular Expression pattern for matching a variable name after an operator (mathematical or logical) ?
이전 댓글 표시
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.
채택된 답변
추가 답변 (1개)
Sean de Wolski
2018년 8월 3일
편집: Sean de Wolski
2018년 8월 3일
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.
카테고리
도움말 센터 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!