Replace a specific portion of a string

1 view (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')

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!