regex replace whole word

6 Ansichten (letzte 30 Tage)
Bardo
Bardo am 1 Jun. 2018
Kommentiert: Stephen23 am 1 Jun. 2018
Hi,
How to change
'v1 = v1a;'
to
'v(1) = v1a;'
using regex or regexrep?
regexprep('v1 = v1a','\bv1\b','v(1)')
apparently does not work.

Akzeptierte Antwort

Stephen23
Stephen23 am 1 Jun. 2018
Bearbeitet: Stephen23 am 1 Jun. 2018
>> regexprep('v1 = v1a','^([a-z]+)(\d+)','$1($2)')
ans = v(1) = v1a
Hopefully you are not constructing arbitrary strings of code for evaluating!
  8 Kommentare
Bardo
Bardo am 1 Jun. 2018
I reckon the main requested feature - to replace only whole words matching the string - is well in the title but got lost in the discussion.
Stephen23
Stephen23 am 1 Jun. 2018
@Bardo: you should accept your answer, if it resolves your original question.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Bardo
Bardo am 1 Jun. 2018
Here we go:
>> regexprep('v1 = v1a','\<v1\>','v(1)')
ans =
v(1) = v1a
or as a strrep for whole words
function snew = subsname(s, old, new)
snew = regexprep(s,['\<', old,'\>'], new);

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by