Это довольно распространенная проблема, поэтому вы должны расширить строковый класс гибким методом «Между».
Сначала вам нужно определить класс расширения:
public static class StringExtensions
{
/// <summary>
/// Returnes a substring located between a leading substring (head) and following substring(tail).
/// Return null if head or tail are not part of this string.
/// </summary>
/// <param name="mainString"></param>
/// <param name="head">leading substring</param>
/// <param name="tail">following substring</param>
/// <returns>ubstring located between head and tail</returns>
public static String Between(this string mainString, string head, string tail)
{
int HeadPosition;
int TailPosition;
int ResultPosition;
int ResultLenght;
//test if mainstring contains head and tail
if (!mainString.Contains(head) && mainString.Contains(tail))
{
return null;
}
HeadPosition = mainString.IndexOf(head);
TailPosition = mainString.IndexOf(tail);
ResultPosition = HeadPosition + head.Length;
ResultLenght = TailPosition - ResultPosition;
return mainString.Substring(ResultPosition, ResultLenght);
}
}
Тогда все, что вам нужно сделать, это вызвать новый метод для любой строки.
var logTime = "LastWrite Time Thu Dec 9 05:12:42 2010 (UTC)";
logTime = logTime.Between("Time","(UTC)").Trim();
Обратите внимание, что «Между» будет доступно только если вы используете пространство имен, в котором вы определили StringExtensions.