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

2 views (last 30 days)
Wictor Oliveira on 5 Aug 2022
Commented: Walter Roberson on 5 Aug 2022
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]

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
Wictor Oliveira on 5 Aug 2022
Thank you so much!

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
##### 2 CommentsShowHide 1 older comment
Walter Roberson on 5 Aug 2022
This is more robust.

### Categories

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

R2020a

### Community Treasure Hunt

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

Start Hunting!

Translated by