How to replace first substring if regexprep doesn't work

1 view (last 30 days)
Hi!
I have some task in which I need sometimes to replace the first substring with another. In this task, I can get inside the string specific symbols, like for example plus (+). Here is my usecase:
stack='X+S+X+S';
left_side='X+S';
right_side='S';
Now I need to replace the first 'X+S' with 'S'. strrep doesn't work for me, because I get
stack=strrep(stack, left_side, right_side);
stack='S+S';
So I used regexprep, but that doesn't work either, in fact it does nothing
stack=regexprep(stack, left_side, right_side, 'once');
stack='X+S+X+S';
I guess it's because plus symbol has some meaning in regexp. So is there any solution for me? Solution that will replace only the first substring with the possibility of any symbols in it?
Thanks for anything!

Accepted Answer

Walter Roberson
Walter Roberson on 12 Feb 2013

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 12 Feb 2013
stack='X+S+X+S'
left_side='X+S'
right_side='S'
regexprep(stack, 'X+++S', 'S',1)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!