Bonjour à vous tous(toutes),
Je reviens vers vous, car la dernière fois ça m'avait été très bénéfique.
J'ai un petit souci avec la fonction strncmp.
En effet, à la suite d'une importation d'un fichier contenant de nombreuses valeurs, je veux faire un test sur les premiers caractères de chaque ligne, afin de savoir si je sélectionne ou non les données de ladite ligne.
Voici ma "cell of array" :
Je veux détecter l'indice du dernier string, afin d'arriver au [1x14400 char].X{1}
ans =
''
'Phi [deg]'
''
'ang_deg(rEPhi) [deg] - Freq='2GHz' Theta='0deg''
''
'ang_deg(rEPhi) [deg] - Freq='2GHz' Theta='10deg''
''
'ang_deg(rEPhi) [deg] - Freq='2GHz' Theta='20deg''
''
'ang_deg(rEPhi) [deg] - Freq='2GHz' Theta='30deg''
''
etc....
etc....
''
'mag(rETheta) [V] - Freq='3GHz' Theta='180deg''
[1x14400 char]
[1x14377 char]
etc...
J'étais parti sur un truc du genre :
Afin de détecter l'indice du dernier string.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for i = 1:numel(X{1}) if strncmp(X{1}{i},'''''',2) || strncmp(X{1}{i},'ang',3) || strncmp(X{1}{i},'mag',3) idx_first_values = idx_first_values+1; end end
J'ai un souci sur le strncmp(X{1}{i},'''''',2). (je précise que ce sont des ' et non des "). Il ne détecte tout simplement pas la première ligne, pourtant j'ai bien :
Je me suis dis qu'il y avait peut être des espaces avant les '', donc j'ai fait un :X{1}{1}
ans =
''
Mais voilà, j'obtiens toujours 0, quelque soit mes tests.strcmp(X{1}{1},' ''''') % les espaces ne sont pas pris en compte par le forum (j'en ai mis 5).
ans =
0
Et pourtant quand je crée une variable :
On a bien la détection des deux '.k=' '''''
k =
''
K>> strcmp(k,' ''''')
ans =
1
Si quelqu'un a une idée, je suis preneur.
Merci d'avance pour vos réponses.
Partager