2010-03-24 3 views
6

Каков наилучший способ извлечь последние 2 символа строки, используя регулярное выражение.регулярное выражение: извлечь последние 2 символа

Например, я хочу, чтобы извлечь код состояния из следующего

«A_IL»

Я хочу извлечь IL как строка ..

пожалуйста, предоставьте мне C# код, как получить его ..

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

благодаря

+3

Есть ли какая-то конкретная причина, по которой вам нужно использовать регулярное выражение вместо обычной манипуляции с строкой? –

ответ

21

Использование регулярных выражений:

..$ 

Это возвращает два символа рядом с концевым якорем.

Поскольку вы используете C#, это было бы проще и, вероятно, быстрее:

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

На самом деле вам не нужен ведущий '. *' –

+0

Да, и я понял, что вам не нужна группа для большинства двигателей. –

+4

+1 для предложения подстроки. Используйте правильный инструмент для работы. – Joel

3

Используйте /(..)$/, затем потянуть группу 1 (.groups(1), $1, \1 и т.д.).

+0

Слишком сложно, Держите его простым. – jpabluz

+3

Не думайте, что это требует понижения. –

+0

«Сложный» зависит от вашего определения Simple. Во многих сценариях это намного проще и элегантно. Например, это может изменить 2-3-ступенчатую операцию в одноэтапное преобразование. – zaTricky

Смежные вопросы