SAS SUPPORT<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous
Re: Script Regex pour extraire un mot clé particulier d'ExcelDevrait être eval (parse ()), pas parse (eval ()). Code corrigé ci-dessous:
teb_text = "" ;
dt = Tableau de données actuel () ;
nom_colonne_liste = dt << obtenir des noms de colonnes ( Chaîne ) ;
maintenant = Nouvelle fenetre ( "Trouver des lignes et des sous-ensembles" ,
<< modal () ,
Boîte de panneau ( "Sélectionner la colonne à rechercher" ,
lb1 = Zone de liste (
nom_colonne_liste ,
max sélectionné ( 1 ) ,
col_to_search_list = lb1 << être sélectionné ;
col_à_recherche = col_to_search_list [ 1 ] ;
) ,
) ,
Boîte de panneau ( "Entrez le texte à rechercher" , teb = Zone d'édition de texte ( teb_text ) ) ,
Boîte de panneau ( "Actes" ,
Zone de liste H (
Boîte à boutons ( "D'ACCORD" ,
ok_button = 1 ;
teb_text = teb << obtenir du texte ;
) ,
Boîte à boutons ( "Annuler" , ok_button = 0 ) ,
)
)
) ;
Si ( ok_button ,
match_expr = Eval Insert (
"\ [match_rows = dt << récupère les lignes où (contient (majuscule (: ^ col_to_search ^)), majuscule (" ^ teb_text ^ ")))] \"
) ;
Eval ( analyser ( match_expr ) ) ;
newdt = dt << sous-ensemble ( rangées ( match_rows ) ) ;
) ;
Re: Script Regex pour extraire un mot clé particulier d'ExcelVoir mon programme corrigé ci-dessus
Re: Script Regex pour extraire un mot clé particulier d'ExcelCela va le faire:
teb_text = "" ;
dt = tableau de données actuel () ;
nom_colonne_liste = dt << obtenir des noms de colonnes ( Chaîne ) ;
maintenant = nouvelle fenetre ( "Trouver des lignes et des sous-ensembles" , << modal () ,
panneau de commande ( "Sélectionner la colonne à rechercher" ,
lb1 = listbox ( nom_colonne_liste , max sélectionné ( 1 ) ,
col_to_search_list = lb1 << être sélectionné ;
col_à_recherche = col_to_search_list [ 1 ] ;
) ,
) ,
panneau de commande ( "Entrez le texte à rechercher" ,
teb = zone d'édition de texte ( teb_text )
) ,
panneau de commande ( "Actes" ,
hlistbox (
boîte à boutons ( "D'ACCORD" , ok_button = 1 ;
teb_text = teb << obtenir du texte ;
) ,
boîte à boutons ( "Annuler" , ok_button = 0 ) ,
)
)
) ;
si ( ok_button ,
match_expr = evalinsert (
"\ [match_rows = dt << récupérer les lignes où (contient (majuscule (: ^ col_to_search ^), majuscule (teb_text))))]]" ) ;
analyser ( eval ( match_expr )) ;
newdt = dt << sous-ensemble ( rangées ( match_rows )) ;
) ;
Re: Script Regex pour extraire un mot clé particulier d'ExcelVous pouvez ignorer la partie de mon message consacrée à la nouvelle table. Il s'agit simplement de créer une table de données factices. Concentrez-vous sur les 3 dernières lignes. Vous devrez modifier les noms de colonne que j'ai utilisés par ceux de votre feuille de calcul.
Vous aurez besoin de lire dans votre feuille de calcul Excel via Fichier> Ouvrir . Puis lancez les 3 dernières lignes de mon petit programme, avec les noms de colonnes modifiés pour votre table.
Re: Script Regex pour extraire un mot clé particulier d'ExcelCela devrait faire ce que vous voulez dans JSL:
Nouvelle table ( "Des oiseaux" ,
Ajouter des lignes ( 5 ) ,
Nouvelle colonne ( "Colonne 1" ,
Personnage ,
Nominal ,
Définir des valeurs (
{ "Oiseau en colère" , "Chat mignon" , "Mauvais chien" , "Oiseau joyeux" , "OISEAU SUPÉRIEUR" }
)
) ,
Nouvelle colonne ( "Colonne 2" ,
Numérique ,
Continu ,
Format ( "Meilleur" , 12 ) ,
Définir des valeurs ( [ 1 , 2 , 3 , 4 , 5 ] )
) ,
Définir les états de ligne ( [ 1 , 0 , 0 , 0 , 0 ] )
) ;
dt = tableau de données ( "Des oiseaux" ) ;
match_rows = dt << obtenir des rangées où ( contient ( majuscule ( : Colonne 1 ) , "OISEAU" )) ;
newdt = dt << sous-ensemble ( des colonnes ( Colonne 1 , Colonne 2 ) , rangées ( match_rows )) ;
Re: Script Regex pour extraire un mot clé particulier d'ExcelMais si vous voulez utiliser des expressions régulières, voici une illustration:
test de données;
longueur txt 64 $;
txt d'entrée &;
lignes de données;
oiseau
BIRD au début
un oiseau
pas un oiseau
Doit être Bigbird
juste un test
;
données _null_;
mettre le test;
mt = prxmatch ("/ \ bbird \ b / i", txt);
mettre mt txt;
courir;
L'expression régulière se traduit par: \ b: limite de mot, bird: le mot-clé à rechercher, \ b: une autre limite de mot, i: rendent la correspondance insensible à la casse.
PG
Re: Script Regex pour extraire un mot clé particulier d'ExcelVous n'avez pas besoin de la complexité de Regex, la fonction SAS FINDW suffit.
Vous n’avez peut-être pas besoin de SAS pour le faire. Vous pouvez créer une colonne dans Excel avec la formule = ISERROR (FIND ("BIRD", UPCASE (A1))) et filtrer les valeurs (conserver FALSE), copier et coller les lignes résultantes.
PG