在 C# 中从一个字符到另一个字符的子字符串

Substring from character to character in 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

如果你的字符串 always 一个 , 和一个 ; (和 ; 在你的 , 之后),你可以使用 IndexOf and Substring 的组合,例如;

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.