2010-12-10 15 views
1

Ich habe ein Objekt-Array, das übergeben wird und dann in verschiedene Variablen aufgeteilt. Das Problem ist, dass eine der Variablen eine Zahl/eine Zeichenkette ist, was auch immer, aber sie kommt mit all diesen funkigen Zeichen am Anfang und am Ende der Zahl. Ich habe eine Bruchstelle auf, so konnte ich den Wert sehen, es ist dies: „\“ 91 \ „“Trimmen einer Zeichenfolge Hilfe

oder wirklich, ohne die äußeren Zitate da diese nur zur Identifikation sind, ist es \ „91 \“

ich habe versucht, wie so ein TrimStart und trimend tun: whateverobjarray.variablename.TrimStart (' "', '/'); whateverobjarray.variablenameTrimEnd ('"', '/');

Ich habe vergessen, es war ein/oder \ slash ... so dass es offensichtlich nicht den Backslash bekommen ... aber es auch nicht entfernt die Anführungszeichen am Anfang oder Ende. Das '\' scheint nicht zu funktionieren, da es immer noch etwas anderes denkt, ist Teil der Charaktere, die ich loswerden will.

Was ist die richtige Syntax dafür in meiner Situation, wo ich will nur die Nummer ... auch muss es funktionieren, wenn die Zahl 1, 2 oder 3 Ziffern ist. Muss ich es als String oder irgendeine Art von Nummer zuerst werfen? HILFE!!! Es macht mich verrückt!

bearbeiten I auch versucht, diese char [] trimArray = { '"', '\' ', '/'}; whateverobjarray.variablename.TrimStart (trimArray); whateverobjarray.variablename.TrimEnd (trimArray);

es wurde leider nichts ausziehen entweder

Antwort

3

Zunächst einmal denke ich, dass der Backslash nur die Zitate entweicht, so dass Sie \" trimmen wollen. Zweitens, da Strings unveränderlich sind, ändert das Aufrufen von Variablenname.TrimStart() den Wert dieser Variablen nicht. Sie müssen sagen:

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

OP sollte auch "Trim" anstelle von "TrimStart" und "TrimEnd" verwenden. –

+0

Danke, ich habe eine Mischung aus meiner Char-Trim-Array und Ihre Antwort verwendet, ich habe vergessen, ich muss es gleich dem Anruf setzen. Danke für Ihre Hilfe. Ich kann auch versuchen, trim wie angegeben, aber für den Moment funktioniert es und ich denke ich verstehe, was mit dem Backslash los war. –

+1

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

1

Diese sehen aus wie Escape-Zeichen, so dass jeder \“ist ein einzelnes Zeichen.. Sie können eine Ersetzung durchführen, um die Zeichen zu entfernen. Am besten ist es jedoch, in C# character escaping in den Griff zu bekommen, und alles kann einrasten.

versuchen

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

Ich lerne am besten durch Beispiel, ich sehe einmal, dann lerne ich. Ich schätze Ihre Eingabe jedoch. Ich hatte gehofft, dass jemand mir eine Lösung zeigen könnte, dann könnte ich nachsehen, warum es alleine funktioniert. –

Verwandte Themen