Borrar filtros
Borrar filtros

find numbers in a string

23 visualizaciones (últimos 30 días)
EYAL COHEN
EYAL COHEN el 25 de Jul. de 2023
Movida: Bruno Luong el 25 de Jul. de 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.

Respuestas (1)

Chunru
Chunru el 25 de Jul. de 2023
Editada: Chunru el 25 de Jul. de 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 comentarios
Chunru
Chunru el 25 de Jul. de 2023
See above
EYAL COHEN
EYAL COHEN el 25 de Jul. de 2023
Movida: Bruno Luong el 25 de Jul. de 2023
It seems to work, I thank you for your help. A big help.

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by