我想找出c#.net中字符串中的最后一个字母。例如,我有1234B0097D576676
,我需要找到D
。与0103D0001Y000001
相同,结果应为Y
。
要做到这一点,PHP preg_match('/[^a-zA-Z]+$/', $scanned_code, $match);
中有一个函数。这将返回字符串中最后一个出现的字符。我们怎么能在c#.net中做同样的事情呢?提前谢谢。
答案 0 :(得分:4)
我会选择一个linq灵魂
string chars = "1234B0097D576676";
char Result = chars.LastOrDefault(x => Char.IsLetter(x));
答案 1 :(得分:0)
您可以在带有[a-z](?=[^a-z]*$)
选项的正则表达式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();
输出: