Comment extraire le texte d'une colonne en fonction de valeurs de caractères au lieu de valeurs numériques ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut la communauté JMP,
J'ai du texte dans une colonne intitulée Description qui ressemble à ceci :
Description Colonne
Rangée 1 : Problème de logiciel : Logiciel système ; Pas de réponse
Rangée 2 : Problème de logiciel : Logiciel système ; Pas de réponse
Rangée 3 : Électronique Problème : Alimentation ; Réponse 1
Rangée 4 : Problème d'ordinateur et d'interface utilisateur : Logiciel système ; Réponse 2
D'accord, je veux donc prendre le texte de cette colonne et le diviser en fonction de la ponctuation.Donc, dans une nouvelle colonne, je veux que le texte soit affiché avant les deux-points ":", et dans une autre colonne, je veux le texte entre le point-virgule et les deux-points " :" et " ": :
Donc je devrais obtenir :
Description Colonne Colonne B Colonne C
Rangée 1 : Problème de logiciel : Logiciel système ; Aucun problème de logiciel de réponse Logiciel système
J'ai créé ces nouvelles colonnes et appliqué une formule où j'ai essayé d'utiliser les fonctions de caractères Gauche/Droite (je me réfère à la colonne de description comme champ de texte).Cependant, toutes les fonctions de caractères basent la longueur sur une valeur numérique.Comment puis-je utiliser une fonction de caractère gauche/droite pour dire
"Droit( Description Colonne , ":")" pour que j'obtienne tout le texte avant le ":" ??
Merci pour ton aide,
-Sarah
Re : Comment extraire le texte d'une colonne en fonction de valeurs de caractères au lieu de valeurs numériques ?Merci! Les deux versions ont fait exactement ce que je cherchais
Re : Comment extraire le texte d'une colonne en fonction de valeurs de caractères au lieu de valeurs numériques ?Une approche alternative ici consiste à utiliser la fonction Word().
Formule pour la colonne B :
Mot( 1, :Colonne de description, ":;" )
Formule pour la colonne C :
Trim( Word( 2, :Description Column, ":;" ) )
Re : Comment extraire le texte d'une colonne en fonction de valeurs de caractères au lieu de valeurs numériques ?Cela fera ce dont vous avez besoin.L'astuce consiste à utiliser contains et substr pour obtenir les sous-chaînes exactes que vous souhaitez.
dt = Nouveau tableau ( "Problèmes" ,
Ajouter des lignes ( 4 ) ,
Nouvelle colonne ( "La description" ,
Personnage ,
Nominal ,
Définir les valeurs (
{ "Problème logiciel : logiciel système ; pas de réponse" ,
"Problème logiciel : logiciel système ; pas de réponse" ,
« Problème électronique : alimentation ; réponse 1 » ,
"Problème d'ordinateur et d'interface utilisateur : logiciel système ; réponse 2" }
)
)
) ;
dt << nouvelle colonne ( "Colonne B" , Personnage , Nominal ,
formule (
colon_pos = contient ( : La description , ":" ) ;
substr ( : La description , 1 , colon_pos - 1 ) ;
)
) ;
dt << nouvelle colonne ( "Colonne C" , Personnage , Nominal ,
formule (
colon_pos = contient ( : La description , " : " ) ;
semi_pos = contient ( : La description , "; " ) ;
substr ( : La description , colon_pos + 2 , semi_pos - colon_pos - 2 ) ;
)
) ;