Эту проблему можно довольно просто решить с помощью механизма регулярных выражений .NET. Что делает регулярные выражения .NET действительно приятным, так это возможность использовать именованные захваты групп.
Использование захвата именованной группы позволяет вам определить имя для каждой части регулярного выражения, которое вас интересует в «захвате», к которому вы можете обратиться позже, чтобы получить его значение. Синтаксис для захвата группы: «(? XxSome Regex Expressionxx). Не забудьте также включить оператор импорта System.Text.RegularExpressions
при использовании регулярного выражения в вашем проекте.
Наслаждайтесь!
// Регулярное выражение
string _regex = @"(?<first_part>[a-zA-Z:0-9]+)\\{1}(?<second_part>(.)+)";
//Example 1
{
Match match = Regex.Match(@"C:\MyFolder\MyFile.zip", _regex, RegexOptions.IgnoreCase);
string firstPart = match.Groups["first_part"].Captures[0].Value;
string secondPart = match.Groups["second_part"].Captures[0].Value;
}
//Example 2
{
Match match = Regex.Match(@"somebucketname\MyFolder\MyFile.zip", _regex, RegexOptions.IgnoreCase);
string firstPart = match.Groups["first_part"].Captures[0].Value;
string secondPart = match.Groups["second_part"].Captures[0].Value;
}