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

1 vue (au cours des 30 derniers jours)
Wictor Oliveira
Wictor Oliveira le 5 Août 2022
Commenté : Walter Roberson le 5 Août 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]

Réponse acceptée

Kevin Holly
Kevin Holly le 5 Août 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

Plus de réponses (1)

Fangjun Jiang
Fangjun Jiang le 5 Août 2022
Modifié(e) : Fangjun Jiang le 5 Août 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 commentaires
Wictor Oliveira
Wictor Oliveira le 5 Août 2022
Great!!! Thank you very much!!!
Walter Roberson
Walter Roberson le 5 Août 2022
This is more robust.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by