如何使用 C# .net 查找字符串中的最后一个字母

How to find last alphabet in a string using c# .net

我想在 c# .net 中找出字符串中的最后一个字母。例如,我有 1234B0097D576676,我需要找到 D。与 0103D0001Y000001 相同,结果应为 Y.

PHP preg_match('/[^a-zA-Z]+$/', $scanned_code, $match); 中有一个函数可以做到这一点。这将 return 字符串中最后出现的字符。我们如何在 c# .net 中做同样的事情?提前致谢。

您可以在带有 Ignorecase 选项的正则表达式 [a-z](?=[^a-z]*$) 中使用正前瞻来获取最后一个字母。

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();

输出:

我会选择linq soultion

string chars = "1234B0097D576676";
char Result = chars.LastOrDefault(x => Char.IsLetter(x));