2010-03-24 9 views
6

quelle est la meilleure façon d'extraire les 2 derniers caractères d'une chaîne en utilisant l'expression régulière.expression régulière: extrait les 2 derniers caractères

Par exemple, je veux extraire le code d'état de ce qui suit

"A_IL"

Je veux extraire IL en tant que chaîne ..

s'il vous plaît me fournir le code C# sur la façon de l'obtenir ..

string fullexpression = "A_IL"; 
string StateCode = some regular expression code.... 

grâce

+3

Y a-t-il une raison particulière pour laquelle vous devez utiliser regex au lieu d'une manipulation de chaîne courante? –

Répondre

21

Utilisez le regex:

..$ 

Cela renverra les deux caractères à côté de l'ancre de fin.

Puisque vous utilisez C#, ce serait plus simple et probablement plus rapide:

string fullexpression = "A_IL"; 
string StateCode = fullexpression.Substring(fullexpression.Length - 2); 
+1

Vous n'avez pas vraiment besoin de l'en-tête '. *' –

+0

Oui, et je me suis rendu compte que vous n'avez pas non plus besoin du groupe pour la plupart des moteurs. –

+4

+1 pour suggérer la sous-chaîne. Utilisez le bon outil pour le travail. – Joel

3

Utilisez /(..)$/, puis tirer le groupe 1 (.groups(1), $1, \1, etc.).

+0

Bien trop compliqué, Keep it simple. – jpabluz

+3

Ne pensez pas qu'il appelle une downvote. –

+0

"Compliqué" dépend de votre définition de Simple. Dans de nombreux cas, c'est beaucoup plus simple et élégant. Par exemple, cela pourrait transformer une opération en deux ou trois étapes en une transformation en une seule étape. – zaTricky

Questions connexes