Bonjour,
Je quéris votre aide face au problème que je rencontre
Je vous expose le probleme.
Je récupère d'un fichier un string comportant des coordonnées,
seulement cette string peut avoir 3 ou 4 coordonnées, soit :
Ainsi, l'idée est de récupérer les 3 premières coordonnés et la 4e si elle existe. J'ai donc besoin de vous pour construire l'expression regex.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String3 = '41.0000000000\136.0000000000\194.0000000000'; string4 = '41.0000000000\136.0000000000\194.0000000000\240.0000000000';
Mon code est donc le suivant.
est ce qu'il faudrait pas le faire en deux fois avec l'option 'match' ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 _x= '(?<_x>\d+(.)\d+)'; _y= '(?<_y>\d+(.)\d+)'; _z = '(?<_z>\d+(.)\d+)'; _r= '(?<_r>\d+(.)\d+)'; expression = [_x '(\\)' _y '(\\)' _z ' (?\\)(?(1)' _r ')?]; data = regexp(string4,expression,'names'); x = str2double(data._x); y = str2double(data._y); z = str2double(data._z); r = str2double(data._r);
J'ai essayé pas mal de chose comme vous pouvez vous en doutez mais en vain.
Merci d'avance pour l'aide que vous pourriez m'apporter
Partager