190 votes

Couper le dernier caractère d'une chaîne

J'ai une corde dire

 "Hello! world!" 
 

Je veux faire une assiette ou un retrait pour enlever le! hors du monde mais pas hors bonjour.

348voto

"Hello! world!".TrimEnd('!');

lire plus

EDIT:

Ce que j'ai remarqué dans ce type de questions que tout le monde suggèrent de supprimer le dernier caractère de la chaîne $ string. Mais cela ne répond pas à la définition de la méthode Trim.

Garniture - Supprime toutes les occurrences de les caractères espace blanc de la début et à la fin de cette instance.

MSDN-Garniture

En vertu de cette définition enlever seulement le dernier caractère de la chaîne est une mauvaise solution.

Donc, si nous voulons "Trim dernier caractère de la chaîne" nous devons faire quelque chose comme ceci

Exemple de la méthode d'extension:

public static class MyExtensions
{
  public static string TrimLastCharacter(this String str)
  {
     if(String.IsNullOrEmpty(str)){
        return str;
     } else {
        return str.TrimEnd(str[str.Length - 1]);
     }
  }
}

78voto

Nimrod Shory Points 591
String withoutLast = yourString.Substring(0,yourString.Length -1);

9voto

James Points 3068
 if (yourString.Length > 1)
    withoutLast = yourString.Substring(0, yourString.Length - 1);
 

ou

 if (yourString.Length > 1)
    withoutLast = yourString.TrimEnd().Substring(0, yourString.Length - 1);
 

... au cas où vous voudriez supprimer un caractère non-blanc de la fin.

6voto

JDunkerley Points 7237
        string s1 = "Hello! world!";
        string s2 = s1.Trim('!');

5voto

Nissim Points 2174
string helloOriginal = "Hello! World!";
string newString = helloOriginal.Substring(0,helloOriginal.LastIndexOf('!'));

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