简体   繁体   中英

Substring from character to character in C#

How can I get sub-string from one specific character to another one?

For example if I have this format:

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

And I only want to get this part: 2015-05-21T09:18:58

How can I use Substring from , character to ; character?

If you string has always one , and one ; (and ; after your , ), you can use combination of IndexOf and Substring like;

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

Here a demonstration .

Use regex,

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

This would extract all the chars next to , symbol upto the first semicolon.

This would be better:

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

Using 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;
} 

Try:

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

Demo: DotNet Fiddle Demo

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM