How to make this string a = '(0 0 0)' into a double b = [0 0 0]?

4 views (last 30 days)
Suppose I don't know what are the number inside the a string, it could be:
a = '(12 2.8 1.22)' % each number is separated by a single space
which should then be:
b = [12 2.8 1.22]

Accepted Answer

Kevin Holly
Kevin Holly on 5 Aug 2022
a = '(12 2.8 1.22)'
a = '(12 2.8 1.22)'
a = strrep(a,')',']');
a = strrep(a,'(','[');
b = str2num(a)
b = 1×3
12.0000 2.8000 1.2200

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 5 Aug 2022
Edited: Fangjun Jiang on 5 Aug 2022
a = '(12 2.8 1.22)';
b=sscanf(a,'(%f %f %f)')
b = 3×1
12.0000 2.8000 1.2200
b=transpose(sscanf(a,'(%f %f %f)'))
b = 1×3
12.0000 2.8000 1.2200

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!