使用C#提取部分字符串

时间:2016-07-07 09:14:11

标签: c#

我试图在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”部分。

我尝试希望有人可以提供帮助,因为我几乎被困住了,谷歌搜索还没有把我带到任何地方。

3 个答案:

答案 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)

这将获得您的请求的第一部分:

页\ S1 \ SOF \ S(。)

查看提供正则表达式测试人员的https://regex101.com/和一些有用的提示。