Insert underscore into the string

32 views (last 30 days)
a = datestr(now,31)
a = 2016-08-23 09:15:47
a = regexprep(a,'[^a-zA-Z0-9]','') = 20160823091547
a(1:2) = []
a = '160823091547'
Now i need to insert the underscore after the sixth element in the string
how can i do this?
is it possible to optimize the above steps or my approach is correct?
Thanks a lot

Accepted Answer

Guillaume on 23 Aug 2016
Using regexprep, this would be one of the many ways to do it:
a = regexprep(datestr(now, 31), '..(..)-(..)-(..) (..):(..):(..)', '$1$2$3_$4$5$6')
But even simpler, why not ask datestr to output exactly what you want directly:
a = datestr(now, 'yymmdd_HHMMSS')

More Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 23 Aug 2016
a=[a(1:6) '_' a(7:end)]

Azzi Abdelmalek
Azzi Abdelmalek on 23 Aug 2016
a = datestr(now,31)

Community Treasure Hunt

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

Start Hunting!