Effacer les filtres
Effacer les filtres

find numbers in a string

23 vues (au cours des 30 derniers jours)
EYAL COHEN
EYAL COHEN le 25 Juil 2023
Déplacé(e) : Bruno Luong le 25 Juil 2023
Hi,
I have the following example of string 'E_Field (Farfield) (Cartesian) (-0 -1000 -1)(Abs) (cosim Tran1).txt' .
I need to extract the numbers between the brackets 0,1000,-1.
I have tried using the regexp function but without any success.
I will appriciate any kind of assistance.

Réponses (1)

Chunru
Chunru le 25 Juil 2023
Modifié(e) : Chunru le 25 Juil 2023
s = 'E_Field (Farfield) (Cartesian) (-0 -173.648 983.808)(Abs) (cosim Tran1).txt';
s1 = 'E_Field (Farfield) (Cartesian) (-0 -1000 -1)(Abs) (cosim Tran1).txt' ;
p = '(\(-?\d+ -?\d+(.\d*)? -?\d+(.\d*)?\))';
t=regexp(s, p, 'tokens');
t = t{1}{1}
t = '(-0 -173.648 983.808)'
n = sscanf(t, '(%f %f %f)')
n = 3×1
0 -173.6480 983.8080
t1=regexp(s1, p, 'tokens');
t1 = t1{1}{1}
t1 = '(-0 -1000 -1)'
n1 = sscanf(t1, '(%f %f %f)')
n1 = 3×1
0 -1000 -1
  5 commentaires
Chunru
Chunru le 25 Juil 2023
See above
EYAL COHEN
EYAL COHEN le 25 Juil 2023
Déplacé(e) : Bruno Luong le 25 Juil 2023
It seems to work, I thank you for your help. A big help.

Connectez-vous pour commenter.

Catégories

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

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by