2016-05-26 3 views
1

Il peut y avoir des cas où je peux avoir 10 points-virgules ou seulement 1. Cependant, ce qui est après le point-virgule, je n'ai pas besoin car il interfère avec ma capture.RegEx pour correspondre à la dernière occurrence du point-virgule

12AB(1,2,3,4,5);34AB(1,2,3,4,5); - Junk data I do not want 

Si je peux arrêter la capture après la dernière ; qui résoudrait mon problème. J'ai cherché mais j'ai seulement trouvé des informations pour un backslash que je ne peux pas travailler et je ne le comprends pas.

J'utilise Nintex pour traiter cette information qui est construite sur .NET mais ne permet pas le formatage de la même manière que .NET.

+1

Recherchez '; \ S + $' et remplacez par '' ''. – Tushar

+0

'; [^;] * $' ......... –

+0

Quelle que soit la raison pour laquelle vous n'utilisez pas LastIndexOf()? –

Répondre

1

Vous pouvez remplacer le résultat de l'expression régulière suivante qui correspond à un point-virgule suivi de combinaisons de caractères de longueur 0 et plus, à l'exception du point-virgule suivi de la fin de l'ancrage de chaîne.

';[^;]*$' 

avec une chaîne vide, afin de l'enlever. Mais vous pourriez avoir d'autres façons sans utiliser regex, comme trouver l'index du premier point-virgule sur la version inversée de votre chaîne puis le remplacer par une chaîne vide, ou peut-être en utilisant d'autres fonctions efficaces que le langage a fourni.

+0

Cela a fonctionné pouvez-vous expliquer le premier point-virgule? qu'est-ce que ça fait? – JeremyA1

+0

@ JeremyA1 C'est pour faire correspondre le caractère de point-virgule, vérifiez l'édition pour plus d'informations. – Kasramvd