Azzera filtri
Azzera filtri

regex replace whole word

12 visualizzazioni (ultimi 30 giorni)
Bardo
Bardo il 1 Giu 2018
Commentato: Stephen23 il 1 Giu 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.

Risposta accettata

Stephen23
Stephen23 il 1 Giu 2018
Modificato: Stephen23 il 1 Giu 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 Commenti
Bardo
Bardo il 1 Giu 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 il 1 Giu 2018
@Bardo: you should accept your answer, if it resolves your original question.

Accedi per commentare.

Più risposte (1)

Bardo
Bardo il 1 Giu 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);

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Tag

Prodotti


Release

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by