Identifier caractère qui suit un "_" et ledéplacer
Fermé
am33450
Messages postés
20
Date d'inscription
vendredi 30 mars 2018
Statut
Membre
Dernière intervention
22 août 2018
-
30 mars 2018 à 16:05
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 4 avril 2018 à 17:45
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 4 avril 2018 à 17:45
A voir également:
- Identifier caractère qui suit un "_" et ledéplacer
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractère spéciaux mac clavier - Guide
- Identifier appareil avec adresse mac - Guide
2 réponses
Whismeril
Messages postés
19026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 avril 2024
931
30 mars 2018 à 18:55
30 mars 2018 à 18:55
Bonjour
regarde du coté des Regex, je ne sais pas si ça s'implémente en Perl, mais c'est un outil "universel" donc je pense que oui.
Petits exemples
La Regex est
(voir l'onglet Context pour le résultat)
La regex est
regarde du coté des Regex, je ne sais pas si ça s'implémente en Perl, mais c'est un outil "universel" donc je pense que oui.
Petits exemples
http://regexstorm.net/tester?p=%28_%29%2b%28%3f%3d%5bA-Za-z%5d%29&i=Supprime+tout+_+avant+une+lettre%0d%0a_H__1+CU_71+___e+_Z&r=
La Regex est
(_)+(?=[A-Za-z])et on remplace par du vide
(voir l'onglet Context pour le résultat)
http://regexstorm.net/tester?p=%28_%29%2b%28%3f%3d%5b0-9%5d%29&i=Supprime+tout+_+avant+une+lettre%0d%0a_H__1+CU_71+___e+_Z&r=+
La regex est
(_)+(?=[0-9])et on remplace par l'espace
Whismeril
Messages postés
19026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 avril 2024
931
4 avril 2018 à 17:45
4 avril 2018 à 17:45
Pour extraire les isotopes
Exemple, voir l'onglet table
Après, tu énumères toutes les captures.
Pour chacune, il suffit de tester la longueur de $1,
([A-Z]{1,2})(( *)|(_*))(\d+[A-Z]?)
Exemple, voir l'onglet table
http://regexstorm.net/tester?p=%28%5bA-Z%5d%7b1%2c2%7d%29%28%28+*%29%7c%28_*%29%29%28%5cd%2b%5bA-Z%5d%3f%29&i=H+3+C+14+TH233+U239+NP236F+NP236M+AM242M+CM243+%0d%0aBK246+BK250+CF251+CF253+TL207M+FR224+CF246+CU+71+%0d%0a%0d%0a_H__3+1.0392E%2b13+0.0000E%2b00+1.0392E%2b13+%0d%0a_C_14+2.6451E%2b08+0.0000E%2b00+2.6451E%2b08+
Après, tu énumères toutes les captures.
Pour chacune, il suffit de tester la longueur de $1,
- si c'est 1 tu exportes $1 $2
- si c'est 2 tu exportes $1$2
3 avril 2018 à 12:52
Ça marche bien à part pour les isotopes dont le nom ne contient qu'une seule lettre (il y a un petit décalage, il manque juste un espace en plus entre la lettre et le numéro atomique).
Pour l'instant, je copie toute la ligne quand je tombe sur une telle chaîne, sais-tu comment je pourrais récupérer seulement les chaînes ?
Merci d'avance
3 avril 2018 à 13:48
lorsque j'ai une ligne comme ça dans le fichier 1 :
eg CU_72 1.0045782E9
eg CU_73 1.0293612E9
J'aimerai obtenir dans un fichier 2 :
CU 72
CU 73
3 avril 2018 à 16:56
4 avril 2018 à 08:34
Merci d'avance de tes conseils
4 avril 2018 à 12:08
Merci