C#中从字符到字符的子字符串

如何从一个特定字符到另一个特定字符获取子字符串?

例如,如果我有这种格式:

string someString = "1.7,2015-05-21T09:18:58;"; 

我只想得到这个部分: 2015-05-21T09:18:58

我怎样才能使用来自的字符串; 字符?

这会更好:

 string input = "1.7,2015-05-21T09:18:58;"; string output = input.Split(',', ';')[1]; 

使用SubString

 public string FindStringInBetween(string Text, string FirstString, string LastString) { string STR = Text; string STRFirst = FirstString; string STRLast = LastString; string FinalString; int Pos1 = STR.IndexOf(FirstString) + FirstString.Length; int Pos2 = STR.IndexOf(LastString); FinalString = STR.Substring(Pos1, Pos2 - Pos1); return FinalString; } 

尝试:

 string input = "1.7,2015-05-21T09:18:58;"; string output = FindStringInBetween(input, ",", ";"); 

演示: DotNet Fiddle Demo

如果你的字符串总是一个,一个; (和;之后),你可以使用IndexOfSubstring组合;

 string someString = "1.7,2015-05-21T09:18:58;"; int index1 = someString.IndexOf(','); int index2 = someString.IndexOf(';'); someString = someString.Substring(index1 + 1, index2 - index1 - 1); Console.WriteLine(someString); // 2015-05-21T09:18:58 

这是一个demonstration

使用正则表达式,

 @"(?<=,).*?(?=;)" 

这将提取旁边的所有字符,符号到第一个分号。