j'utilisais la fonction TrimStart pour effectuer les opérations suivantes:Y at-il une fonction .NET pour supprimer la première occurrence (et seulement la première) au début d'une chaîne?
var example = "Savings:Save 20% on this stuff";
example = example.TrimStart("Savings:".ToCharArray());
Je me attendais à cela le résultat de l'exemple ayant une valeur de « Economisez 20% sur ce genre de choses ».
Cependant, ce que j'ai obtenu était "e 20% sur ce genre de choses".
Après avoir lu la documentation sur TrimStart, je comprends pourquoi, mais maintenant je me demande s'il existe une fonction dans .NET qui fait ce que j'essayais de faire en premier lieu?
Est-ce que quelqu'un connaît une fonction, donc je n'ai pas besoin de créer la mienne et de la suivre?
grâce à l'extension. J'essayais d'éviter d'écrire mon propre code pour le faire, mais je suppose que c'est inévitable. – Joseph
J'irais personnellement avec un conditionnel ici: 'return s.StartsWith (toRemove)? s.Substring (toRemove.Length): s; 'Mais je sais pas tout le monde est un fan de l'opérateur conditionnel :) –
C'est certainement le chemin à parcourir, clair et facile à vérifier l'exactitude. Voici une alternative horriblement mauvaise que j'ai vu dans le code de production (modifié pour correspondre à l'exemple): 'example.Split (new [] {" Savings: "}, 2, StringSplitOptions.RemoveEmptyEntries) [0]'. Je ne sais pas ce que l'auteur original pensait ... – LBushkin