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

时间:2015-05-21 07:20:35

标签: c# string substring

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

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

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

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

如何将,字符的子字符串用于;个字符?

3 个答案:

答案 0 :(得分:3)

如果您的字符串始终一个,和一个;(以及;之后的,),则可以使用{的组合{3}}和IndexOf喜欢;

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

这里有 Substring

答案 1 :(得分:1)

使用正则表达式,

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

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

答案 2 :(得分:1)

这会更好:

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