133 votes

récupérer tous les caractères à droite du dernier tiret

J'ai les éléments suivants :

string test = "9586-202-10072"

Comment faire pour que tous les caractères à droite de la finale - donc 10072. Le nombre de caractères est toujours différent à droite du dernier tiret.

Comment cela peut-il être fait ?

2voto

shahkalpesh Points 21553
string atest = "9586-202-10072";
int indexOfHyphen = atest.LastIndexOf("-");

if (indexOfHyphen >= 0)
{
    string contentAfterLastHyphen = atest.Substring(indexOfHyphen + 1);
    Console.WriteLine(contentAfterLastHyphen );
}

1voto

Jeff Foster Points 22175

Voir String.lastIndexOf méthode

1voto

NSDumb Points 403

J'ai créé une extension de chaîne pour cela, j'espère que cela vous aidera.

public static string GetStringAfterChar(this string value, char substring)
    {
        if (!string.IsNullOrWhiteSpace(value))
        {
            var index = value.LastIndexOf(substring);
            return index > 0 ? value.Substring(index + 1) : value;
        }

        return string.Empty;
    }

0voto

vissi Points 1797

test.Substring(test.LastIndexOf("-"))

0voto

themefield Points 393
test.Substring[(test.LastIndexOf('-') + 1)..]

C# 8 (fin 2019) introduit range et le simplifie encore un peu plus. Les deux points signifient ici de l'index (inclus) jusqu'à la fin de la chaîne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X