181 votes

Comment obtenir les cinq premiers caractères d'une chaîne de caractères ?

J'ai lu ceci question pour obtenir le premier caractère de la chaîne. Existe-t-il un moyen d'obtenir les n premiers caractères d'une chaîne de caractères en C# ?

21voto

Nathan SSSSSS Points 196

Je vous informe qu'il existe une nouvelle façon de procéder dans C# 8.0 : Opérateurs de gamme

Microsoft Docs

Ou comme j'aime les appeler, les tranches de pandas.

A l'ancienne :

string newString = oldstring.Substring(0, 5);

Nouvelle façon :

string newString = oldstring[..5];

Ce qui, à première vue, semble être un mauvais compromis entre une certaine lisibilité et un code plus court, mais la nouvelle fonctionnalité vous donne

  1. une syntaxe standard pour le découpage des tableaux (et donc des chaînes de caractères)
  2. des trucs cool comme ça :

    var slice1 = list[2..^3] ; // list[Range.Create(2, Index.CreateFromEnd(3))]

    var slice2 = list[..^3] ; // list[Range.ToEnd(Index.CreateFromEnd(3))]

    var slice3 = list[2..] ; // list[Range.FromStart(2)]

    var slice4 = list[..] ; // list [Range.All]

16voto

ChrisF Points 151

Utilisez la fonction PadRight pour éviter que la chaîne ne soit trop courte, saisissez ce dont vous avez besoin puis coupez les espaces à la fin, le tout en une seule déclaration.

strSomeString = strSomeString.PadRight(50).Substring(0,50).TrimEnd();

12voto

Slava Points 335

Je ne sais pas pourquoi personne ne l'a mentionné. Mais c'est le moyen le plus court et le plus simple d'y parvenir.

string str = yourString.Remove(n);

n - le nombre de caractères dont vous avez besoin

Exemple

var zz = "7814148471";
Console.WriteLine(zz.Remove(5));
//result - 78141

10voto

alikerim Points 101

Ajoutez cinq caractères d'espacement, puis coupez les cinq premiers et coupez le résultat. Le nombre d'espaces que vous ajoutez doit correspondre au nombre de caractères que vous coupez. Veillez à inclure la parenthèse avant .Substring(0,X) ou vous n'ajouterez rien.

string str = (yourStringVariable + "    ").Substring(0,5).Trim();

Avec cette technique, vous n'aurez pas à vous soucier de la ArgumentOutOfRangeException mentionnés dans d'autres réponses.

7voto

Rajeev Kumar Points 1963
string str = "GoodMorning"

string strModified = str.Substring(0,5);

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