430 votes

Comment obtenir les 4 derniers caractères d’une chaîne en c# ?

Supposons que j'ai une chaîne:

 string mystring = "34234234d124";
 

Je veux obtenir les 4 derniers caractères de cette chaîne qui est "d124" . Je peux utiliser SubString , mais il faut quelques lignes de code.

Est-il possible d'obtenir ce résultat dans une expression avec C #?

536voto

Armen Tsirunyan Points 59548
mystring.Substring(Math.Max(0, mystring.Length - 4)); //how many lines is this?

233voto

Stecya Points 12073

Vous pouvez utiliser l'extension

 public static class StringExtension
{
    public static string GetLast(this string source, int tail_length)
    {
       if(tail_length >= source.Length)
          return source;
       return source.Substring(source.Length - tail_length);
    }
}
 

Et puis appelle

 string mystring = "34234234d124";
string res = mystring.GetLast(4); 
 

49voto

RJ Programmer Points 227

Ok, donc je vois que c'est un ancien message, mais pourquoi réécrivons-nous le code déjà fourni dans le framework?

Je vous suggère d'ajouter une référence à la DLL du cadre "Microsoft.VisualBasic"

 using Microsoft.VisualBasic;
//...

string value = Strings.Right("34234234d124", 4);
 

30voto

Cem Points 566
string mystring = "34234234d124";
mystring = mystring.Substring(mystring.Length-4)

27voto

dtb Points 104373

Utiliser Substring est en fait assez court et lisible:

  var result = mystring.Substring(mystring.Length - Math.Min(4, mystring.Length));
 // result == "d124"
 

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