find numbers in a string
24 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
Chunru
2023-7-25
编辑:Chunru
2023-7-25
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}
n = sscanf(t, '(%f %f %f)')
t1=regexp(s1, p, 'tokens');
t1 = t1{1}{1}
n1 = sscanf(t1, '(%f %f %f)')
5 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!