使用分隔符将字符串分解为子字符串:

时间:2014-09-12 09:26:15

标签: c# regex string substring

我有一个字符串,我喜欢这个string s = "09:04:31 00358800917204 FINLAND 00:00:16 2 1.56 21:18:32 00358800917204 FINLAND 00:00:16 2 1.56";。现在根据我的要求,我必须将这个字符串分成两个子字符串,如...

string substring1 = "09:04:31 00358 FINLAND 00:00:16 2 1.56"

string substring2 = "21:18:32 00358 FINLAND 00:00:16 2 1.56"

如何像这样打破它..请帮助我..谢谢..

2 个答案:

答案 0 :(得分:1)

您可以尝试以下操作:

var pattern = @"\d{2}:\d{2}:\d{2}\s(\d*)\s(\w*)\s\d{2}:\d{2}:\d{2}\s\d\s\d*\.\d*";

string s = "09:04:31 00358800917204 FINLAND 00:00:16 21.56 21:18:32 00358800917204 FINLAND 00:00:16 2 1.56";

var rx = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);

var matches = rx.Matches(s);

此模式适用于您提供的字符串,但可能必须根据您的要求进行更改。您可以在此处测试:RegExr

答案 1 :(得分:0)

\s(?=\d+:\d+:\d+(?:(?!\d+:\d+:\d+).)*?FINLAND)

你可以通过这种方式进行拆分。实际上它是按空格分割的,前面有(time...FINLAND)。参见演示。

http://regex101.com/r/hQ1rP0/15