C# 从给定字符串中提取4位年份字符串的最简单方法是什么
C# 提取4位年份最简实现
提取2000年之后的4位年份,直接用正则匹配是最简洁的方案,无需拆分字符串、遍历判断,实现代码如下:
using System.Text.RegularExpressions; // 原始字符串 const string raw = @"TAAD, Türkiye Adalet Akademisi'nin 95. Kuruluş Yıl Dönümü Armağanı, y.78, S.179, Temmuz 2023, s.108-157"; // 正则匹配2000-2099区间的4位年份,\b 确保匹配到的是独立的4位数字,不会从更长的数字串里截取 var yearMatch = Regex.Match(raw, @"\b20\d{2}\b"); if (yearMatch.Success) { MessageBox.Show(yearMatch.Value); }
规则说明
- 正则
\b20\d{2}\b里的\b是单词边界符,避免从20231、a2023这类非独立数字串里误匹配 - 如果需要覆盖1900之后的所有年份,可以把正则替换为
\b(19|20)\d{2}\b,匹配成功后再加一次数值判断即可
内容的提问来源于stack exchange,提问作者Habip Oğuz
相关产品推荐
相关产品推荐

