2016-11-09 4 views
0

Ich muss eine Zeichenfolge von NHRM__Location__c nur Location analysieren. Ich fühle mich wirklich dumm, weil das nicht mein erstes Rodeo ist. Ich möchte den Code in einem Array nicht hinzufügen. NHRM ist ein Namespace, der sich je nachdem, wer ihn verwendet, so ändert, dass irgendwann ein Schlüssel in der app.config-Datei angezeigt wird.Parse Wörter aus einer Zeichenfolge

Ich dachte daran, nur die Zeichenfolge auf __ zu teilen und dann den Rest des Wortes in ein Zeichen-Array zu laden und diesen Kerl zu beschneiden, aber ich fühle mich, als könnte ich waaaay über komplizierte Dinge sein.

+0

"Dies ist vielleicht ein Duplikat und wenn ja, schließen Sie es sich gerne." Bedeutet das, dass du nicht versucht hast, eine Antwort zu finden, bevor du das gepostet hast? – dfundako

+0

https://msdn.microsoft.com/en-us/library/ms228388.aspx – BobSki

+1

Wenn Sie das '__' garantieren können, warum nicht nur' str.Split ("__") [1] ' – Jonesopolis

Antwort

1

verwenden:

string sample = "NHRM__Location__c"; 
Console.WriteLine(sample.Split('_')[2]); 
+1

Die Eingabe hat zwei Unterstriche hintereinander, Sie teilen sich auf einen einzelnen Unterstrich auf. Ich denke, wenn Sie teilen, finden Sie das Wort in der Position [2] ist die mit dem Wort "Location", nicht die Position [1]. Außerdem ist die Methode 'Split', nicht 'Split' –

+0

Danke dafür Ja es war Ort 2 Ich fühle mich wirklich dumm. Ich werde die Antwort kurz nach einem Treffen annehmen. Mit freundlichen Grüßen zum Auffrischen. –

3

Ich habe dies für Sie in eine .Net Fiddle setzen mit diesem Code:

using System; 

public class Program 
{ 
    public static void Main() 
    { 
     string stringToSplit = "NHRM__Location__c"; // 2 underscores in each location 
     char[] sep = new char[] {'_', '_'}; 
     string newString = stringToSplit.Split(sep)[2]; 

     Console.WriteLine(newString); 
    } 
} 

Ich weiß, das auf die erste Antwort ähnlich ist, aber ich wollte nur beweisen dass [2] funktioniert, zumindest für mich in .Net Fiddle.

Ich hoffe, das hilft!

aktualisieren

System.String

Rückgabewert - Ein Array, dessen Elemente die Teilstrings aus dieser Instanz enthalten, die

durch ein oder mehrere Zeichen in dem Separator abgegrenzt sind

So Wenn ich den Code zu ändern würde, würde es nur c .. zurückgeben und [0] würdezurückgeben.. Die Array-Werte enthalten das Trennzeichen nicht

+0

Die Variable stringToSplit ist nicht mit den OPs identisch. – Bearcat9425

+0

Nun, es funktioniert, weil Ihre Eingabe ist anders als was OP hat – Jonesopolis

+0

Die ursprüngliche Eingabezeichenfolge hatte zwei Unterstriche in einer Zeile. Dein hat nur einen. –

Verwandte Themen