J'ai cette chaîne: « 123-456-7 »Comment remplacer les occurrences de "-" par une chaîne vide?
Je dois obtenir cette chaîne: « 1234567 »
Comment puis-je remplacer les occurrences de « - » avec une chaîne vide?
J'ai cette chaîne: « 123-456-7 »Comment remplacer les occurrences de "-" par une chaîne vide?
Je dois obtenir cette chaîne: « 1234567 »
Comment puis-je remplacer les occurrences de « - » avec une chaîne vide?
string r = "123-456-7";
r = r.Replace("-", "");
Battez-moi par 17.3745853 secondes +1 –
En fait 36 secondes, d'où je suis debout. ;) –
Si simple ???????????????????? – Gold
Cela devrait faire l'affaire:
String st = "123-456-7".Replace("-","");
Tout en une ligne. Cool +1 – ichiban
Pour être clair, vous voulez remplacer chaque trait d'union (-) avec blanc/rien. Si vous le remplaciez par un retour arrière, cela effacerait le caractère précédent!
Cela conduirait à: 123-456-7 ==> 12457
Sean a brillant la bonne réponse.
String.Replace Method (String, String)
dans votre cas, il serait
string str = "123-456-7";
string tempstr = str.Replace("-","");
string r = "123-456-7".Replace("-", String.Empty);
Pour .Net 1.0 String.Empty ne prendra pas plus d'espace sur le tas, mais « » nécessite le stockage sur le tas et son adresse sur la pile résultant en plus de code d'assemblage. Par conséquent, String.Empty est plus rapide que "".
Egalement String.Empty signifie aucune faute de frappe. Cliquez sur le lien What is the difference between String.Empty and “”.
Je ne crois pas que ce soit vrai. String.Empty est la constante pour "". Le compilateur pointe tous les littéraux "" vers String.Empty. Peu importe combien de "" littéraux vous avez. – AMissico
Merci AMissico ... Je viens de vérifier le tas pour le cadre 3.5 et vous avez raison, "" et String.Empty pointent vers le même emplacement. Mais, pour 1.0, il y aura de l'espace alloué sur le tas pour "". J'ai édité la réponse en conséquence :) –
Tout de la méthode ci-dessus je suppose est bien alors que si vous êtes dans une opération complexe de mieux penser à regex c'est vraiment génial.
Utilisez String.Empty ou null au lieu de "" car "" créera un objet dans la mémoire pour chaque occurrence tandis que d'autres réutiliseront le même objet.
Wats si spécial sur cette question pour qu'il soit voté? – Shoban
Le devoir civique, peut-être;) –