2010-12-10 27 views
1

J'ai un tableau d'objets qui est passé, puis divisé en différentes variables. Le problème est que l'une des variables est censée être un nombre/une chaîne, mais elle arrive avec tous ces caractères funky au début et à la fin du nombre. Je mis en place un point de rupture pour que je puisse voir la valeur, il est le suivant: « \ » 91 \ « »Rognage d'une chaîne d'aide

ou vraiment, sans les guillemets externes puisque ce sont seulement pour l'identification, il est \ « 91 \ »

J'ai essayé de faire un TrimStart et TrimEnd comme ceci: whateverobjarray.variablename.TrimStart (' "', '/'); whateverobjarray.variablenameTrimEnd ('"', '/');

J'ai oublié si c'était un/ou \ slash ... alors évidemment, il n'a pas eu le backslash ... mais il n'a pas non plus supprimé les guillemets au début ou à la fin non plus. Le '\' ne semble pas fonctionner car il pense toujours que quelque chose fait partie des personnages dont j'essaye de me débarrasser.

Quelle est la syntaxe appropriée pour faire ceci dans ma situation où je veux juste le nombre ... également il doit fonctionner si le nombre est 1, 2, ou 3 chiffres. Dois-je le lancer comme une chaîne ou un type de numéro en premier? AIDEZ-MOI!!! Ça me rend fou!

modifier J'ai aussi essayé ce char [] = {trimArray '"', '\' ', '/'}; whateverobjarray.variablename.TrimStart (trimArray); whateverobjarray.variablename.TrimEnd (trimArray);

n'a pas pris quoi que ce soit au large soit

Répondre

3

D'abord, je pense que la barre oblique inverse est tout simplement échapper les guillemets, de sorte que vous aurez envie de couper \". Deuxièmement, puisque les chaînes sont immuables, appeler variablename.TrimStart() ne change pas réellement la valeur de cette variable. Vous devez dire:

obj.MyString = obj.MyString.Trim('"'); 
+1

OP devrait aussi simplement utiliser 'Trim' plutôt que' TrimStart' et 'TrimEnd'. –

+0

Merci, j'ai utilisé un hybride de mon tableau de trim char et votre réponse, j'ai oublié que je dois le mettre égal à l'appel. Merci de votre aide. Je peux aussi essayer de couper comme indiqué, mais pour l'instant cela fonctionne et je pense que je comprends ce qui se passait avec le backslash. –

+1

s = s.Trim (new char [] {'"'}); –

1

Ils ressemblent à des caractères d'échappement, de sorte que chaque \ » est un caractère unique.. Vous pouvez faire un remplacement pour supprimer les caractères. Cependant, votre meilleur pari est de prendre le contrôle de character escaping en C# et il se peut que tout le monde clique en place.

essayer

variablename.Replace("\"",""); 
+0

J'apprends mieux par exemple, je vois une fois, puis j'apprends. J'apprécie votre contribution cependant. J'espérais que quelqu'un pourrait me montrer une solution, alors je pourrais chercher pourquoi cela fonctionne tout seul. –