2010-03-24 146 views
6

cuál es la mejor manera de extraer los últimos 2 caracteres de una cadena con expresiones regulares.expresión regular: extraer los últimos 2 caracteres

Por ejemplo, quiero extraer código de estado de la siguiente

"A_IL"

Quiero extraer IL como cadena ..

por favor me proporcione el código C# en cómo conseguirlo ..

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

gracias

+3

¿Hay alguna razón en particular por la que necesite usar expresiones regulares en lugar de la manipulación de cadenas común? –

Respuesta

21

uso la expresión regular:

..$ 

Esto devolverá los dos caracteres junto al anclaje final.

Puesto que usted está usando C#, esto sería más simple y probablemente más rápido:

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

En realidad, no necesita el '. *' –

+0

líder. Sí, y me di cuenta de que tampoco necesita el grupo para la mayoría de los motores. –

+4

+1 para sugerir subcadenas. Use la herramienta correcta para el trabajo. – Joel

3

Uso /(..)$/, a continuación, tire del grupo 1 (.groups(1), $1, \1, etc.).

+0

Demasiado complicado, manténgalo simple. – jpabluz

+3

No creo que requiera un voto a la baja. –

+0

"Complicado" depende de su definición de Simple. En muchos escenarios, esto es mucho más simple y elegante. Por ejemplo, esto podría cambiar una operación de 2-3 pasos en una transformación de un paso. – zaTricky

Cuestiones relacionadas