[英]How can I parse string to produce specific alphanumeric format
我有一个由多个用户手动输入的参考字段
我有一个字母数字文件编号,即。 P1234567。 我想获取 ***以字母 P 开头,后跟 7 位数字
例子:
我可以使用正则表达式拆分 1,2 号和 3 的一些实例
如何解析 no.4 和 5 以获取和拆分我的格式特定字符串
如果,无论他们输入什么其他垃圾,如果您的用户可靠地输入一个 P 后跟 7 位数字,您可以使用
var mc = Regex.Matches(input, @"P\d{7}");
mc 将是一个 MatchCollection,其中一个或多个 Match 对象具有.Groups[0].Value
即 P 编号
如果你只想要数字部分,你可以:
var mc = Regex.Matches(input, @"P(?<n>\d{7})");
foreach(Match m in mc)
Console.WriteLine(m.Groups["n"].Value);
如果需要,您可以更多地参与其他解析 - 我切换到使用命名捕获组( (?<namehere>... )
定义了一个命名组),因为当您有多个捕获时,使用名称而不是更容易使它们保持直接数字索引
如果您发现您的用户有时会打错数字并输入例如 6 到 8 位数字,您可以将正则表达式调整为\d{6,8}
,然后通过填充或修剪将其在代码中修复为 7 位数字作为适当的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.