Я хочу узнать последний алфавит в строке в С#.net. Например, у меня есть 1234B0097D576676
и мне нужно найти D
То же, что и в 0103D0001Y000001
, результат должен быть Y
Для этого есть функция в PHP preg_match('/[^a-zA-Z]+$/', $scanned_code, $match);
, Это вернет последний использованный символ в строке. Как мы можем сделать то же самое в С#.net? Заранее спасибо.
я бы выбрал linq soultion
string chars = "1234B0097D576676";
char Result = chars.LastOrDefault(x => Char.IsLetter(x));
Вы можете использовать положительное выражение в регулярном выражении [az](?=[^az]*$)
с опцией Ignorecase
чтобы получить эту последнюю букву.
var txt1 = "0103D0001Y000001";
var regex1 = new Regex(@"[a-z](?=[^a-z]*$)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
var c1 = regex1.Matches(txt1).Cast<Match>().Select(d => d.Value.Trim()).ToList();
Вывод: