Supprimer le dernier caractère d'une chaîne (VB.NET 2008)
Je suis en train de supprimer un dernier caractère d'une chaîne. Ce dernier caractère est un caractère de nouvelle ligne (Système d'.De l'environnement.Saut de ligne).
J'ai essayé quelques choses, mais je ne peux pas l'enlever.
Exemple:
myString.Remove(sFP.Length - 1)
Exemple 2:
myString= Replace(myString, Environment.NewLine, "", myString.Length - 1)
Comment je peux faire?
Vous devez vous connecter pour publier un commentaire.
Si votre retour à la ligne est CR LF, c'est en fait deux caractères consécutifs. Tentez votre
Remove
appel avecLength - 2
.Si vous souhaitez supprimer toutes les "\n" et "\r" caractères à la fin de la chaîne, essayez d'appeler
TrimEnd
, en passant les personnages:Pour supprimer tous les caractères espace (les retours à la ligne, tabulations, espaces, ...), tout appel
TrimEnd
sans passer quoi que ce soit.str
variable. La valeur de retour d'une chaîne de caractères. Vous devez utiliser quelque chose commestr = str.TrimEnd()
si vous voulez la variable à modifier.myString = myString.TrimEnd(vbCr, vbLf)
est un plus solution fiable.TrimEnd()
ouTrim()
est un meilleur choix. Il y a beaucoup plus d'espace blanc de caractères que juste retour à la ligne, et que vous voulez généralement à se débarrasser de l'ensemble de la fuite d'espace. Aléatoire code plaisir de voir une liste grâce à la réflexion, testé sur .Net 4:char[] whitespace = (char[]) typeof(string).GetField("WhitespaceChars", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null);
la même chose avec l'Environnement.De retour à la ligne au lieu de vbCrlf:
Btw, la différence est là: l'Environnement.Retour à la ligne est une plate-forme spécifique(f.e. retourne autre chaîne en d'autres OS)
Votre
remove
-approche n'a pas fonctionné parce que vous n'avez pas affecter la valeur de retour de cette fonction à votre chaîne d'origine référence:ou si vous souhaitez remplacer tous les retours à la ligne:
Utilisation: