MATLAB: Regexprep / doesnt work backwards

regexpregexprep

Hey Guys, I am using this code
Text = '<HTML><FONT color="0000FF">Used Amplification</FONT></HTML>' % from a listbox
Search = '</FONT></HTML> '
Add = '(hidden)</FONT></HTML> '
regexprep(Text,Search,Add)
to create this code
<HTML><FONT color="0000FF">Used Amplification(Hidden)</FONT></HTML>
Now I want to get back the old Code so i use regexprep(Text,Add,Search) but it doesnt work ?

Best Answer

  • You're not actually using regular expressions. Your search pattern is just a plain string, so you'd be better off using strrep.
    The reason it doesn't work with Add as a search pattern is that the ( character has a special meaning in regexes so to match a bracket you need to escape it with a backslash, either manually or using regexptranslate:
    regexprep(Text, regexptranslate('escape', Add), Search)
    But as I said
    strrep(Text, Add, Search)
    would work just as well and will probably be faster.