Bonjour à tous,
Pourriez vous me dire comment convertir la chaine de caractères
en nombre : 4700
Code : Sélectionner tout - Visualiser dans une fenêtre à part '*ep_4700t'
Merci !!
Bonjour à tous,
Pourriez vous me dire comment convertir la chaine de caractères
en nombre : 4700
Code : Sélectionner tout - Visualiser dans une fenêtre à part '*ep_4700t'
Merci !!
Bonjour,
tu peux utiliser sscanf ou regexp. Un exmple avec sscanf :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 f = '*ep_4700t'; res = sscanf(f,'%*c%*c%*c%*c%f%*c');
Pour une bonne utilisation des balises code c'est ici!
Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources
La nature est un livre écrit en langage mathématique. Galilée.
J'aurais mis un %d à la place du %f
Et pour compléter :
ou encore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 f = '*ep_4700t'; res = sscanf(f,'%*4c%d%*c');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 f = '*ep_4700t'; res = sscanf(f,'*ep_%dt');
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Hum ca ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 f = infoImBuff(i).SequenceName res = sscanf(f,'%*4c%d%*c')f =
*ep_b4700t
res =
''
Ah c'est ma faute !!
C'est à cause du petit b qui trainait
du coup j'ai remplacé par %*5c
Merci à vous
C'est normal que ca ne marche pas, tu as un caractère de plus dans ta chaine. Il faut donc modifier ton sscanf en conséquence
Pour généraliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 >> f = '*ep_4700t'; >> cart = '_' ; >> rst = str2num(f(find(f == cart)+1:end-1)) rst = 4700 >> rst*6 ans = 28200
Les règles Les cours La fonction rechercher
N'oubliez pas de mettre en et de voter.
La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager