c# - 我想使用正则表达式从这个字符串 GRN/GSI/2017/7 中提取 7
问题描述
我想使用正则表达式从这个字符串 GRN/GSI/2017/7 中提取 7
我试了一下,但它提取了 2017
`string s1 = dt2.Rows[0]["Doc_No"].ToString();
string i1;
string[] numbers = Regex.Split(s1, @"\D+");
foreach (string value in numbers)
{
if (!string.IsNullOrEmpty(value))
{
i1 = value;
txtGRNNo.Text = i1;
}
}`
解决方案
您能否解释一下提取该数字的“规则”是什么?您发布的代码将在拆分字符串后遍历所有数字。"\d+" 是 1 个或多个数字。因此,在您的情况下,2017和7都将匹配。
你总是只想要最后一个数字吗?
如果是这样,那么这可能对您有用:
string s1 = dt2.Rows[0]["Doc_No"].ToString();
txtGRNNo.Text = Regex.Split(s1, @"/").Last();
推荐阅读
- reactjs - MUI 列表中的自动滚动
- twilio - 最简单的方法是按顺序呼叫转移,直到有人接听,然后接收消息
- r - 使用 lappy 将过滤器功能应用于多个数据集时收到错误
- azure-data-factory - 在 azure 数据流中使用先前的 nonEmpty 值自动填充列中的空行?
- bioinformatics - USEARCH 聚类
- timestamp - ROS时间。记录到文件时尝试恢复时间
- snowflake-cloud-data-platform - 雪花 sql api 是否支持并发用户?
- python - Turtle 中的边界检测
- python-3.x - 沙盒访问冲突:阻止框架访问跨域框架。正在访问的框架是沙盒并且缺少“allow-same-origin”标志
- google-cloud-platform - Google Cloud Platform 上的 MVC 5 和外部登录(使用 Google 帐户)返回 null