将字符串分成分隔符为的子字符串:

本文关键字:字符串 分隔符 | 更新日期: 2023-09-27 18:21:34

我有一个字符串,我喜欢这个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"

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

将字符串分成分隔符为的子字符串:

您可以尝试以下操作:

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。

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

你可以通过这个分开。从本质上讲,它被前面有(time...FINLAND)的空间分割。参见演示。

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