我试图在C#中提取字符串的一部分,但我不知道如何实现这一点。我想象Regex,但作为一个完整的RegEx noob,我想我会向社区寻求帮助。
我有一个很像下面的字符串:
Unit Code : Billing Period : Billing Date : Due Date : Total Amount Due : STATEMENT OF ACCOUNT Page No.: Page 1 of 2 July 2016 1S-D-0303 07/07/2016 JOHN DOE Unit 303D, Building name, CITY NAME
我希望从“第1页,共2页”声明中提取数字“2”,以及“1S-D-0303”和“07/07/2016”部分。
我尝试希望有人可以提供帮助,因为我几乎被困住了,谷歌搜索还没有把我带到任何地方。
答案 0 :(得分:0)
以下代码完全匹配您要查找的3个部分:
using System.Text.RegularExpressions;
string pattern = @"Page [0-9]+ of ([0-9]+) [A-Z][a-z]+ [0-9]+ ([0-9A-Za-z-]+) ([0-9][0-9]\/[0-9][0-9]\/[0-9]+)";
Regex r = new Regex(pattern);
MatchCollection mc = r.Matches("Unit Code : Billing Period : Billing Date : Due Date : Total Amount Due : STATEMENT OF ACCOUNT Page No.: Page 1 of 2 July 2016 1S-D-0303 07/07/2016 JOHN DOE Unit 303D, Building name, CITY NAME");
答案 1 :(得分:0)
您可以使用这样的正则表达式(demo):
Page (?<CurrentPage>\d+) of (?<TotalPage>\d+) \w+ \w+ (?<Code>.*?) (?<Date>\d{2}\/\d{2}\/\d{4})
答案 2 :(得分:0)