2833_fr-FR
Rechercher un script de remplacementJ'ai une colonne qui contient une chaîne. Je souhaite rechercher une sous-chaîne dans la colonne et la supprimer. Je pourrais le faire via la boîte de dialogue Rechercher/Remplacer, mais je souhaite le faire dans un script. J'ai essayé : Munger(:STATE, 1, "RX_", ""); Ce à quoi je m'attendais : changer chaque occurrence de "RX_xxxxx" en "xxxxx", mais cela ne fait rien. Qu'est-ce que je fais mal?Re : Rechercher un script de remplacementEssayez de combiner munger() avec la fonction foreachrow() pour parcourir toutes les lignes.
Re : Rechercher un script de remplacementLa fonction SUBSTITUTE, lorsqu'elle est utilisée avec une chaîne, remplacera toutes les occurrences d'une sous-chaîne dans une chaîne. Je n'avais pas réalisé que lorsqu'il est utilisé avec une liste, il ne fonctionne qu'avec des correspondances exactes de la chaîne à remplacer.
z = "aaabbbccc" ;
b = substitut(z, "a", "x");
Résulte en:
"xxxbbbccc"
Ainsi, vous pouvez utiliser la méthode for each row ou boucler sur toutes les lignes et utiliser la fonction SUBSTITUTE.Re : Rechercher un script de remplacementJe trouve la fonction SUBSTITUTE beaucoup plus simple que MUNGER.
Il existe peut-être une méthode « one-liner », mais voici ce que je fais :
Re : Rechercher un script de remplacementPMroz, merci.
MS, existe-t-il une fonction qui peut être utilisée pour trouver la dernière occurrence (c'est-à-dire rechercher de droite à gauche au lieu de gauche à droite), ou dois-je parcourir la chaîne pour trouver la dernière occurrence et modifier le décalage en conséquence ?Re: Script de recherche et de remplacementIl existe une fonction « reverse » (ex : reverse("abc") --> "cba") qui pourrait être utile. Vous recherchez le texte inversé apparaissant en premier dans la valeur de la colonne inversée, vous le remplacez par le texte de remplacement inversé, puis vous inversez la chaîne résultante. Je ne sais pas comment cela se compare en termes de vitesse à l'itération de la recherche vers l'avant.
Comments
There are no comments yet