Replace a specific portion of a string

2 views (last 30 days)
I have a cell array of strings,
'SPY US 09/17/11 P118 Equity'
'XOM US 08/20/11 P72.5 Equity'
'AAPL US 12/17/11 P375 Equity'
....
I would like to keep the left side and the right side but replace the dates all into say 01/01/11. So the output could be:
'SPY US 01/01/11 P118 Equity'
'XOM US 01/01/11 P72.5 Equity'
'AAPL US 01/01/11 P375 Equity'
....
Anyone know a quick way? Thanks in advance!

Accepted Answer

Oleg Komarov
Oleg Komarov on 24 Aug 2011
cs = {'SPY US 09/17/11 P118 Equity'
'XOM US 08/20/11 P72.5 Equity'
'AAPL US 12/17/11 P375 Equity'};
regexprep(cs, '\d{2}/\d{2}/\d{2}','01/01/11')
  1 Comment
Zoe Zhang
Zoe Zhang on 24 Aug 2011
Aha, exactly I wanted (as I said below...) Thanks so much~~

Sign in to comment.

More Answers (1)

Zoe Zhang
Zoe Zhang on 24 Aug 2011
>> ticker = 'SPY US 09/17/11 P118 Equity'; >> position = findstr('/',ticker)
position =
10 13
>> ticker(position(1)-2:position(2)+2) = '01/01/11'
ticker =
SPY US 01/01/11 P118 Equity
There should be a easier way right? Some thing like modifiedStr = strrep('SPY US 09/17/11 P118 Equity', '$$/$$/$$','01/01/01')

Products

Community Treasure Hunt

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

Start Hunting!